Docker命令教程
请列出Docker的基本操作方法。尽管尝试使用图形界面工具,但命令行界面(CLI)的操作仍然更加有效,因此推荐使用CLI。在处理Docker时,必须理解的关键概念是”镜像”和”容器”。
1. 基本操作
图像搜索
在DockerHub上使用关键词搜索镜像。
$ docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 3500 [OK]
jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.3.1611 x8... 77 [OK]
获取图像
获取图像名称:指定标签名称。如果未指定标签名称,则附加“latest”标签。
$ docker pull centos:latest
latest: Pulling from library/centos
d5e46245fe40: Pull complete
Digest:sha256:aebf12af704307dfa0079b3babdca8d7e8ff6564696882bcb5d11f1d461f9ee9
Status: Downloaded newer image for centos:latest
显示保存在电脑上的图像。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 3bee3060bfc8 12 days ago 193 MB
删除在电脑上保存的图像。
$ docker rmi 3bee3060bfc8
Untagged: centos:latest
Untagged: centos@sha256:aebf12af704307dfa0079b3babdca8d7e8ff6564696882bcb5d11f1d461f9ee9
Deleted: sha256:3bee3060bfc81c061ce7069df35ce090593bda584d4ef464bc0f38086c11371d
Deleted: sha256:dc1e2dcdc7b6ff86d785fa16cf97464d263d04346a191c57b5ca8a66b4155861
启动图像
当使用方法1进行退出时,容器会终止。而使用方法2进行退出时,容器不会终止。需要注意的是,即使使用方法1,通过“Ctrl+p,Ctrl+q”也可以从容器中退出而不终止容器。
以下用中文进行本地化的释义方法,只需要提供一种选择:方法1。
Please provide the original English sentence that you want me to paraphrase in Chinese.
$ docker run -it centos:latest /bin/bash
[root@2fe147e75dc9 /]# uname -a
Linux 2fe147e75dc9 4.9.27-moby #1 SMP Thu May 11 04:01:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@2fe147e75dc9 /]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
第二种方法
$ docker run -itd centos:latest
4a82a4ec72bf1b28b2abe84da1b4995c23cf4aa74f32364bb3e81d75db14dd45
确认正在运行的容器
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5c304f72c6d6 centos:latest "/bin/bash" 3 minutes ago Up 3 minutes
停止正在运行的容器
$ docker stop 5c304f72c6d6
5c304f72c6d6
重新启动正在运行的容器
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
048697b53b77 centos:latest "/bin/bash" 19 seconds ago Up 16 seconds lucid_franklin
$ docker restart 048697b53b77
048697b53b77
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
048697b53b77 centos:latest "/bin/bash" About a minute ago Up 9 seconds lucid_franklin
连接到容器
如果以容器作为版本,请参考第5个介绍的图像。第一种方法是退出时容器会停止,因此需要使用“Ctrl+p, Ctrl+q”进行退出。第二种方法是即使退出,容器也不会停止。
1. 第一种方法
$ docker attach 048697b53b77
第二种方法
$ docker exec -it 82f647b208ea /bin/bash
[root@82f647b208ea /]# exit
exit
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82f647b208ea centos:latest "/bin/bash" 30 seconds ago Up 28 seconds nifty_wright
2. 一些稍微复杂的操作
端口映射
基本 – 最基础的
$ docker run -d -p 8080:80 <image_name> -it /bin/bash
只需指定IP地址。 (Zhǐ xū IP .)
$ docker run -d -p 192.168.0.219:8080:80 <image_name>
音量映射
$ docker run -d -v /tmp/:/mnt/ <image_name>
将容器映像化
$ docker commit <Container ID> <image_name>:<tag>
启动一个实用图像的方法
$ docker run -it -p 8000:8000 -v /tmp/006_log/01_arena/:/var/log/cowrie/ splunk:latest
将图像导出为图片
$ docker save <image_name>:<tag_name> > <filename>
$ docker save --output <filename> <image_name>:<tag_name>
$ docker save -o <filename> <image_name>:<tag_name>
图像的导入 de
$ docker load < <filename>
$ docker load --input <file_name>