Docker新手入门之九:Docker常用命令总结
2018-08-24T01:58:50    1701    0    0
#### 本文总结了Docker相关的常用命令。 #### 通常可以作为工具手册来查阅。 ## 测试命令 如下命令常常会用于测试Docker是否正常安装。 ```bash docker run hello-world # Hello from Docker! # This message shows that your installation appears to be working correctly. # # ... ``` ## Docker状态信息查看 如下命令可以用于查看Docker的基本信息。 ```bash docker info # Containers: 1 # Running: 0 # Paused: 0 # Stopped: 1 # Images: 1 # Server Version: 18.01.0-ce # ... ``` ## Docker镜像管理 ### 创建镜像 创建镜像有两种方式: 方法1:根据Dockerfile创建镜像 Step1: 创建Dockerfile文件及其相关依赖文件 Step2:切换到Dockerfile文件所在目录,执行如下命令: ``` docker build -t 镜像名称 . ``` 方法2:根据已有镜像实例化后进行交互式环境修改后保存 Step1:根据已有镜像实例化容器,记录容器ID,并进入交互式命令行 ``` docker run -it 已有镜像名称 /bin/bash ``` Step2:在交互式命令行执行相关操作后退出交互式命令行 Step3:执行如下命令创建镜像 ``` docker commit 容器ID 镜像名称 ``` ### 修改镜像 对照创建镜像,修改镜像同样有两种方式: 1. 修改Dockerfile后重新创建镜像 2. 根据已有镜像实例化后进行交互式环境修改后保存 ### 查看镜像列表 ``` docker images ``` ![title](/static/files/591/5989cee6e519f50ef7000031/94/images/e8c228e06f03caaa25866462ee05548e.png) ### 查看某个镜像详情 ``` docker inspect 镜像名称 ``` ![title](/static/files/591/5989cee6e519f50ef7000031/15/images/b2f9c45816e9659ed4c5d2a614fd3478.png) ### 删除镜像 ``` docker rmi 镜像名称 ``` Ps:对于存在容器的镜像,首先需要删除其对应的容器才能删除该镜像。 ### 为镜像添加标签 ``` docker tag 旧镜像名称 新镜像名称 ``` Ps:该命令会在原有的镜像上重新生成一个新的镜像名称对应该镜像。 ### 拉取镜像 ``` docker pull 镜像名称 ``` Ps:该命令会在对应的镜像仓库查询镜像并拉取到本地。 ### 推送镜像 ``` docker push 镜像名称 ``` ## Docker运行容器 如下命令格式为Docker运行容器的基本命令: ```bash docker run -参数 镜像名称 执行命令 ``` 可以看到,运行容器命令可以分解为三个部分,分别是参数,镜像名称和执行命令。 ### 参数 1. `-it`:`-i`参数用设置容器中的STDIN是开启的。`-t`参数表示为创建的容器分配一个伪tty终端。 二者通常联合使用。 2. `--name 容器名`:用于为启动的容器设置一个容器名称。 3. `-d`:将程序放在后台执行,用于创建守护式容器。 4. `--restart`:设置自动重启,可以设置什么情况下重启,例如`--restart=always`,`--restart=on-failure:5`。 5. `-p`:端口映射。例如:`8000:80`表示将容器的80端口映射到宿主机的8000端口。`80`表示将容器的80端口映射到宿主机的任意端口。 6. `-P`:端口映射,将容器Dockerfile中EXPOSE指定的端口映射到宿主机的任意端口。 7. `-w`:指定工作目录 8. `-h`:为容器设置HOST主机名称。 9. `--entrypoint`:强制指定启动程序。 10. `-v`:卷映射。示例:`/home/nianshi/logs:/logs`表示将宿主机的`/home/nianshi/logs`目录挂载到容器的`/logs`目录下。 11. `--link`:容器链接。示例:`redis:db`表示将容器名称为`redis`的容器连接到新建的容器上,同时设置别名为`db`。此时在新容器中可以使用`db`来表示`redis`容器的地址。 12. `--volumes-from`:参数用于连接某个指定容器的卷,从而可以访问到指定容器中的所有的卷。示例:`blog_demo`表示新容器中挂载了blog_demo容器中所有的卷。 13. `--rm`:表示容器运行完成后自动删除。 ### 镜像名称 此处镜像名称需要输入完成的镜像名称。 镜像名称的格式如下:`[Registry/][username/]简要镜像名称[:标签]` Ps:其中`Registry`默认为Docker Hub地址; 对于官方源,`username`不需要填写,否则必填;`简要镜像名称`必填;`标签`默认为latest。 ### 执行命令 执行命令为启动容器时需要执行的操作。 例如: ```bash /bin/bash ``` ## Dockers启动/停止容器 ### 启动一个目前尚未运行的容器 ```bash docker start 容器名称/容器ID ``` ### 停止一个运行中的容器 ```bash docker stop 容器名称/容器ID ``` ## Docker进入容器命令行 当我们启动了一个有交互式运行环境的容器时,可以执行如下命令来进入交互式环境。 ```bash docker attach 容器名称/容器ID docker exec -it 容器名称/容器ID /bin/bash ``` Ps:执行该命令后,通常需要再次敲击Enter键才能进入交互式终端。 ## Docker已有镜像中运行命令/启动进程 ```bash docker exec -参数 容器名称/容器ID 执行命令 ``` ## 查看容器 ### 查看运行容器列表 ```bash docker ps ``` ### 查看全部容器列表 ```bash docker ps -a ``` ### 查看某容器的详细信息 ``` docker inspect 容器名称/容器ID ``` ### Docker查看某容器日志 ```bash docker logs 容器名称/容器ID ``` Ps:可以添加`-f`来监控日志文件,`-t`参数来增加时间戳。 ### Docker查看某容器进程 ```bash docker top 容器名称/容器ID ``` ### 查看容器端口 ``` docker port 容器名称/容器ID ``` ## 删除容器 ``` docker rm 容器名称/容器ID ```

上一篇: Docker新手入门之八:Docker API详解

下一篇: 在Windows7,8电脑下安装Docker及Oracle VM virtualbox安装使用详解

0条评论