方式一
拉取镜像
1 | docker pull centos |
创建容器
1 | docker run -i -t -d -p 20:20 -p 21:21 -p 80:80 -p 443:443 -p 888:888 -p 8888:8888 -v /Users/dong/Project/www:/www/wwwroot --privileged=true --name centos-app centos |
--privileged=true
表示给容器赋予root权限
--name centos-app
表示给容器起名叫centos-app
host模式:使用 –net=host 指定。
none模式:使用 –net=none 指定。
bridge模式:使用 –net=bridge 指定,默认设置。
container模式:使用 –net=container:NAME_or_ID 指定。
这条命令会用centos镜像创建并运行一个容器,命名为centos-paa。并将真机的20,21,80,443,888,8888这五个端口映射到docker容器中去。冒号左边是容器端口,右边是真机端口
查看正在运行的容器
用docker ps
命令可以查看正在运行的容器
进入容器
1 | docker exec -it centos-app /bin/bash |
以交互式终端方式进入 centos-app
容器,并执行了 bash
命令,也就是获得一个可操作的 Shell。
方式二
这里根据Dockerfile方式构建一个CentOS的可远程SSH的镜像。
Dockerfile文件
1 | # 生成的新镜像以centos镜像为基础 |
build镜像
在Dockerfile当前目录执行下面语句,开始构建镜像。注意最后面的点不要忘了,表明是读取当前目录的Dockerfile文件。
1 | docker build -t dong/centos . |
dong/centos
为新生成的镜像名称
启动容器
1 | docker run -itd -P -v /Users/dong/Project/www:/www/wwwroot --privileged=true --name centos-dong dong/centos |
常用命令
帮助启动
1 | # 启动docker |
容器
创建并运行容器
1 | docker run -i -t -d 容器ID或容器名 |
启动容器
1 | docker start 容器ID或容器名 |
重启容器
1 | docker restart 容器ID或容器名 |
停止容器
1 | docker stop 容器ID或容器名 |
强制停止容器
1 | docker kill 容器ID或容器名 |
进入容器
进入容器终端并保留为容器终端的输入形式(-it和bash的结合作用)
1 | docker exec -it 容器ID或容器名 bash |
退出容器
1 | exit |
删除容器
1 | docker rm -f 容器ID或容器名 |
-f表示强制删除,运行中的容器也能删除
容器改名
1 | docker rename <容器ID或容器名> <新的容器名> |
将容器保存成镜像
1 | docker commit <容器ID或容器名> <镜像名> |
查看容器详情
1 | docker inspect 容器id或容器名 |
进入容器
1 | docker attach 容器名 |
镜像
1 | 在仓库中搜索镜像 |
查看镜像详情
1 | docker inspect docker.io/镜像名 |
查看镜像历史
1 | docker history docker.io/镜像名 |
删除镜像
1 | docker rmi 镜像id |
网络模式
1 | docker network ls # dcoker网络模式列表 |