文章目录
Docker常用命令
1.帮助命令
#1、查看docker版本
docker version
#2、显示docker系统信息,包括镜像和容器
docker info
#3、帮助命令 如dockers images --help 查看镜像帮助命令
docker “命令” --help
2.镜像命令
查看本机镜像 docker images
#1、查看本机上的镜像 docker images
[root@VM-0-6-centos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 13 months ago 13.3kB
#解析
REPOSITORY #镜像仓库
TAG #镜像标签
IMAGE ID #镜像id
CREATED #创建时间(创建了多久)
SIZE #镜像大小
#2、查看docker images帮助命令
[root@VM-0-6-centos ~]# docker images --help
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Options:
-a, --all #列出所有的镜像
--digests #显示摘要
-f, --filter filter #根据提供的条件过滤输出
--format string #使用Go模板打印漂亮的镜像
--no-trunc #不截断输出
-q, --quiet #只显示镜像id
#3、查看镜像所有信息 docker images -a
[root@xgy ~]# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 13 months ago 13.3kB
#4、只显示镜像id docker images -q
[root@xgy ~]# docker images -q
bf756fb1ae65
搜索 docker search
#1、搜索镜像 docker search 镜像名
[root@xgy ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10428 [OK]
mariadb MariaDB is a community-developed fork of MyS… 3870 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 763 [OK]
.....(省略部分)
jelastic/mysql An image of the MySQL database server mainta… 1 [OK]
#解析:
NAME 镜像名
DESCRIPTION 镜像描述信息
STARS 镜像star数
OFFICIAL 官方
AUTOMATED 自动化
#2、查看docker search帮助命令
[root@xgy ~]# docker search --help
Usage: docker search [OPTIONS] TERM
Search the Docker Hub for images
Options:
-f, --filter filter #根据提供的条件过滤输出
--format string #使用Go模板的漂亮打印搜索
--limit int #最大搜索结果数(默认值25)
--no-trunc #不截断输出
#3、使用--filter命令过滤“star”数超过3000的mysql镜像 docker search mysql --filter=STARS=3000
[root@xgy ~]# docker search mysql --filter=STARS=3000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10428 [OK]
mariadb MariaDB is a community-developed fork of MyS… 3870 [OK]
获取镜像 docker pull
#1、下载镜像 docker pull 默认获取最新版本(latest)
[root@xgy ~]# docker pull mysql
Using default tag: latest #tag版本标签
latest: Pulling from library/mysql #从镜像仓库中获取mysql镜像
a076a628af6f: Pull complete #分层下载,docker image核心 联合文件系统
f6c208f3f991: Pull complete
88a9455a9165: Pull complete
406c9b8427c6: Pull complete
7c88599c0b25: Pull complete
25b5c6debdaf: Pull complete
43a5816f1617: Pull complete
1a8c919e89bf: Pull complete
9f3cf4bd1a07: Pull complete
80539cea118d: Pull complete
201b3cad54ce: Pull complete
944ba37e1c06: Pull complete
Digest: sha256:feada149cb8ff54eade1336da7c1d080c4a1c7ed82b5e320efb5beebed85ae8c #签名信息
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #真实存储地址
#注:
docker pull mysql 等价于 docker pull docker.io/library/mysql:latest
#2、下载指定版本镜像 docker pull 镜像名[:tag]
#docker pull mysql:5.7 下载mysql 5.7
[root@xgy ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
a076a628af6f: Already exists #Already exists表示该资源已存在,原因是docker镜像是联合文件系统,相同的文件资源是共用 的,故只要文件资源存在,就不会再去下载
f6c208f3f991: Already exists
88a9455a9165: Already exists
406c9b8427c6: Already exists
7c88599c0b25: Already exists
25b5c6debdaf: Already exists
43a5816f1617: Already exists
1831ac1245f4: Pull complete
37677b8c1f79: Pull complete
27e4ac3b0f6e: Pull complete
7227baa8c445: Pull complete
Digest: sha256:b3d1eff023f698cd433695c9506171f0d08a8f92a0c8063c1a4d9db9a55808df
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7
删除镜像
#1、删除指定镜像 docker rmi -f 镜像id 例:删除mysql5.7镜像
#另:删除多个镜像 docker rmi -f 镜像id 镜像id 镜像id
#1.1查看镜像列表
[root@xgy ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7 a70d36bc331a 9 days ago 449MB
mysql latest c8562eaf9d81 9 days ago 546MB
hello-world latest bf756fb1ae65 13 months ago 13.3kB
#1.2指定删除的镜像
[root@xgy ~]# docker rmi -f a70d36bc331a
Untagged: mysql:5.7
Untagged: mysql@sha256:b3d1eff023f698cd433695c9506171f0d08a8f92a0c8063c1a4d9db9a55808df
Deleted: sha256:a70d36bc331a13d297f882d3d63137d24b804f29fa67158c40ad91d5050c39c5
Deleted: sha256:50c77bf7bcddd1f1d97789d80ac2404eec22c860c104e858620d2a2e321f0ef7
Deleted: sha256:14244329b83dfc8982398ee4104a548385652d2bffb957798ff86a419013efd6
Deleted: sha256:6d990477f90af28473eb601a9bca22253f6381e053c5a8edda0a4f027e124a3c
Deleted: sha256:ee0449796df204071589162fc16f8d65586312a40c68d1ba156c93c56f5e5ce8
#1.3查看镜像列表
[root@xgy ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest c8562eaf9d81 9 days ago 546MB
hello-world latest bf756fb1ae65 13 months ago 13.3kB
#2、递归删除所有镜像 docker rmi -f $(docker images -aq)
#解析: -aq表示所有id
[root@xgy ~]# docker rmi -f $(docker images -aq)
Untagged: mysql:latest
Untagged: mysql@sha256:feada149cb8ff54eade1336da7c1d080c4a1c7ed82b5e320efb5beebed85ae8c
...(省略部分输出)
Untagged: hello-world:latest
Untagged: hello-world@sha256:1a523af650137b8accdaed439c17d684df61ee4d74feac151b5b337bd29e7eec
Deleted: sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6b
#2.1查看镜像列表是否还有数据
[root@xgy ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
3.容器命令
注:有了镜像才可以创建容器!
下载一个centos镜像进行测试学习;
#1、下载centos镜像 docker pull centos
[root@xgy ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
7a0437f04f83: Pull complete
Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
3.1新建容器并启动
#1、docker run [可选参数] image
#参数说明
--name="容器名" #容器名,如tomcat01、tomcat02
-d #挂在在后台运行
-it #使用交互方式运行,进入容器
-p #指定容器的端口 如 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
-p (系统随机指定端口)
#2进入容器
#2.1 docker images 查看容器列表
[root@xgy ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 300e315adb2f 7 weeks ago 209MB
#2.2 docker run -it centos /bin/bash 进入centos容器内部
[root@xgy ~]# docker run -it centos /bin/bash
#2.3 使用ls命令查看centos容器内部有哪些文件
#注:此时root@后面的id由xgy变为412224f83b5d
[root@412224f83b5d /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@412224f83b5d /]#
#2.4退出容器,回到主机
[root@412224f83b5d /]# exit
exit
#2.5 使用ls命令查看主机有哪些文件
[root@xgy /]# ls
app boot docker-test home lib64 mnt netcoretest proc run srv tmp var
bin dev etc lib media mysql-community-release-el7-5.noarch.rpm opt root sbin sys usr
3.2查看容器列表
#docker ps 常用命令
# 列出当前正在运行的容器 如:docker ps
-a # 列出当前正在运行的容器+历史运行过的容器 如:docker ps -a
-n=? #显示最近创建的容器 ?填写的是数值,如:docker ps -a -n=1
-q #只显示容器id
#1、查询正在运行的容器
[root@xgy /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#2、查询所有容器
[root@xgy /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
412224f83b5d centos "/bin/bash" 9 minutes ago Exited (0) 6 minutes ago naughty_wescoff
#3、显示最近创建的容器
[root@xgy /]# docker ps -a -n=1
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
412224f83b5d centos "/bin/bash" 9 minutes ago Exited (0) 6 minutes ago naughty_wescoff
#4、显示所有容器id
[root@xgy /]# docker ps -aq
412224f83b5d
3.3退出容器
#1、退出并停止当前正在运行的容器
exit
#2、保持容器运行,并退出容器
ctrl+p+q
#2.1进入容器
[root@xgy /]# docker run -it centos /bin/bash
#2.2敲击键盘的 ctrl+p+q
#可看到后面加了一串[root@xgy /]#,此时输出docker ps,能获取到主容器中的容器信息
[root@b480cb03a1b7 /]# [root@xgy /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
412224f83b5d centos "/bin/bash" 9 minutes ago Exited (0) 6 minutes ago naughty_wescoff
#此时看到界面由“[root@b480cb03a1b7 /]# [root@xgy /]#”
#变为“[root@xgy /]# ”,原因其实是界面上刚才没有自动换行导致的
[root@xgy /]#
3.4删除容器
docker rm 容器id #删除指定容器 注:如果容器正在运行,但还是想强制删除,则加上-f指令
docker rm -f $(docker ps -aq) #删除所有容器
docker ps -a -q|xargs docker rm #删除所有容器
#1、删除指定容器 docker rm 容器id
#1.1查询所有容器
[root@xgy ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
285a33c568fc hello-world "/hello" 10 hours ago Exited (0) 10 hours ago confident_tesla
b480cb03a1b7 centos "/bin/bash" 10 hours ago Up 10 hours agitated_edison
0cb7d5d9a324 centos "/bin/bash/" 10 hours ago Created optimistic_goldstine
412224f83b5d centos "/bin/bash" 10 hours ago Exited (0) 10 hours ago naughty_wescoff
#1.2 根据1.1中的容器id删除hello-world容器
[root@xgy ~]# docker rm 285a33c568fc
285a33c568fc
#1.3查询所有镜像,可看到hello-world容器已被移除
[root@xgy ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b480cb03a1b7 centos "/bin/bash" 10 hours ago Up 10 hours agitated_edison
0cb7d5d9a324 centos "/bin/bash/" 10 hours ago Created optimistic_goldstine
412224f83b5d centos "/bin/bash" 10 hours ago Exited (0) 10 hours ago naughty_wescoff
#2、删除所有容器 docker rm -f $(docker ps -aq)
[root@xgy ~]# docker rm -f $(docker ps -aq)
b480cb03a1b7
0cb7d5d9a324
412224f83b5d
3.5启动和停止容器
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止容器
docker kill 容器id #强制停止当前容器
#1、创建、运行容器,并进入centos容器内
[root@xgy ~]# docker run -it centos /bin/bash
#2、退出centos容器
[root@771f03d614f7 /]# exit
exit
#3、列举运行中的容器 退出容器后容器不再运行,故使用docker ps命令查不到任何数据
[root@xgy ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#3、启动1中创建的容器
[root@xgy ~]# docker start 771f03d614f7
771f03d614f7
#4、列举运行中的容器 可看到当前容器正在运行
[root@xgy ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
771f03d614f7 centos "/bin/bash" 42 seconds ago Up 3 seconds funny_fermi
#5、停止1中创建的容器
[root@xgy ~]# docker stop 771f03d614f7
771f03d614f7
#6、列举运行中的容器 因容器已停止,故使用docker ps命令查不到任何数据
[root@xgy ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4 其他常用命令
4.1后台启动容器
#命令 docker run -d 镜像名
#注:加上-it(docker run -d -it 镜像名) 命令则变为前台应用
#1、后台启动容器
[root@xgy ~]# docker run -d centos
ae985a36bbc38e7f39c3d81d3087772ec99ba55decb6d198b9ecfe9c2e319d0b
#2、docker ps发现centos容器已经停止了
#解析(注):docker容器使用后台运行时,就必须要有一个前台进程,docker发现没有前台应用,就会自动停止;
#例:nginx容器启动后,发现自己没有提供服务,就会立刻自动停止,会认为没有程序了;
[root@xgy ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4.2查看日志
docker logs 容器id #
[root@xgy ~]# docker logs --help
Usage: docker logs [OPTIONS] CONTAINER
Fetch the logs of a container
Options:
--details #显示提供给日志的额外详细信息
-f, --follow #跟踪日志输出
--since string #显示时间戳(例如2013-01-02T13:23:37)或相对时间戳(例如42m,42分钟)后的日志
--tail string #从日志末尾显示的行数(默认为“all”)
-t, --timestamps #显示时间戳
--until string #在时间戳(例如2013-01-02T13:23:37)或相对时间戳(例如42m,42分钟)之前显示日志
4.3查看容器进程信息
docker top 容器id #查看容器进程信息
#1、查询所有镜像
root@xgy ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8576df3b7e59 centos "/bin/bash" 10 minutes ago Up 10 minutes wonderful_joliot
#2、查询容器中进程id docker top 容器id
[root@xgy ~]# docker top 8576df3b7e59
UID PID PPID C STIME TTY TIME CMD
root 3791 3775 0 21:53 pts/0 00:00:00 /bin/bash
4.4查看容器元数据
#命令
docker inspect 容器id #查看容器元数据
[root@xgy ~]# docker inspect 8576df3b7e59
[
{
"Id": "8576df3b7e5921cd480f6fcfce617c56afcc7e8cd1ca3def3f21b29574c2f244",
"Created": "2021-01-28T13:53:09.621336959Z",
"Path": "/bin/bash",
"Args": [],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 3791,
"ExitCode": 0,
"Error": "",
"StartedAt": "2021-01-28T13:53:10.180995403Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55",
"ResolvConfPath": "/var/lib/docker/containers/8576df3b7e5921cd480f6fcfce617c56afcc7e8cd1ca3def3f21b29574c2f244/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/8576df3b7e5921cd480f6fcfce617c56afcc7e8cd1ca3def3f21b29574c2f244/hostname",
"HostsPath": "/var/lib/docker/containers/8576df3b7e5921cd480f6fcfce617c56afcc7e8cd1ca3def3f21b29574c2f244/hosts",
"LogPath": "/var/lib/docker/containers/8576df3b7e5921cd480f6fcfce617c56afcc7e8cd1ca3def3f21b29574c2f244/8576df3b7e5921cd480f6fcfce617c56afcc7e8cd1ca3def3f21b29574c2f244-json.log",
"Name": "/wonderful_joliot",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": null,
"HostConfig": {
"Binds": null,
"ContainerIDFile": "",
"LogConfig": {
"Type": "json-file",
"Config": {}
},
"NetworkMode": "default",
"PortBindings": {},
"RestartPolicy": {
"Name": "no",
"MaximumRetryCount": 0
},
"AutoRemove": false,
"VolumeDriver": "",
"VolumesFrom": null,
"CapAdd": null,
"CapDrop": null,
"Capabilities": null,
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"ConsoleSize": [
0,
0
],
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": null,
"BlkioDeviceWriteBps": null,
"BlkioDeviceReadIOps": null,
"BlkioDeviceWriteIOps": null,
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/ed7876add37aa7c772982f7a4d9eeb5e124a89cfaebe4e2fa9c33b67ec14048c-init/diff:/var/lib/docker/overlay2/d7d20a95a5dbb4c260f6666d925ebcd69f3083e1c7e06420e6bb93d28787e34a/diff",
"MergedDir": "/var/lib/docker/overlay2/ed7876add37aa7c772982f7a4d9eeb5e124a89cfaebe4e2fa9c33b67ec14048c/merged",
"UpperDir": "/var/lib/docker/overlay2/ed7876add37aa7c772982f7a4d9eeb5e124a89cfaebe4e2fa9c33b67ec14048c/diff",
"WorkDir": "/var/lib/docker/overlay2/ed7876add37aa7c772982f7a4d9eeb5e124a89cfaebe4e2fa9c33b67ec14048c/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "8576df3b7e59",
"Domainname": "",
"User": "",
"AttachStdin": true,
"AttachStdout": true,
"AttachStderr": true,
"Tty": true,
"OpenStdin": true,
"StdinOnce": true,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
],
"Cmd": [
"/bin/bash"
],
"Image": "centos",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"org.label-schema.build-date": "20201204",
"org.label-schema.license": "GPLv2",
"org.label-schema.name": "CentOS Base Image",
"org.label-schema.schema-version": "1.0",
"org.label-schema.vendor": "CentOS"
}
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "4a32e043f3f620e19989c10b70dfbda4cd47b70fafa3f3306c9824556d60bb95",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {},
"SandboxKey": "/var/run/docker/netns/4a32e043f3f6",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "209c0ed60a44232e30fc000284891704f061d7ae2eba9405a3f1d818c993fab8",
"Gateway": "172.18.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:12:00:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "4119a34918bbf3395bb3012d6388eb590d0af482daeef0e740ab84011777b76f",
"EndpointID": "209c0ed60a44232e30fc000284891704f061d7ae2eba9405a3f1d818c993fab8",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": null
}
}
}
}
]
4.5进入当前正在运行的容器
#我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置;
#命令
docker exec -it 容器id /bin/bash
#方式一
#1、获取所有容器
[root@xgy ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8576df3b7e59 centos "/bin/bash" 39 minutes ago Up 39 minutes wonderful_joliot
#2、交互模式运行容器
[root@xgy ~]# docker exec -it 8576df3b7e59 /bin/bash
[root@8576df3b7e59 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@8576df3b7e59 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 13:53 pts/0 00:00:00 /bin/bash
root 14 0 1 14:33 pts/1 00:00:00 /bin/bash
root 28 14 0 14:33 pts/1 00:00:00 ps -ef
#方式二
docker attach 容器id
#运行容器
[root@xgy ~]# docker attach 8576df3b7e59
#docker exec #进入容器后开启一个新的终端,可以在里面操作(常用) 在运行的容器中执行命令
#docker attach #进入容器,不会开启新的进程;
4.6从容器内拷贝文件到主机上
#命令
docker cp 容器id:/子容器目录/文件 /主机容器目录
#1、列举正在运行的容器列表
[root@xgy ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68ff63460678 centos "/bin/bash" 39 minutes ago Up 39 minutes wonderful_joliot
#2、进入容器
[root@xgy ~]# docker attach 68ff63460678
#3、进入centos容器中的home目录创建一个test.java文件
[root@68ff63460678 /]# cd /home
[root@68ff63460678 home]# ls
[root@68ff63460678 home]# touch test.java
[root@68ff63460678 home]# ls
test.java
#4、退出centos容器
[root@68ff63460678 home]# exit
exit
#5、使用 docker cp 容器id:/子容器目录/文件 /主机目录
[root@xgy home]# docker cp 68ff63460678:/home/test.java /home
#6、使用ls命令可看到子容器中的test.java被复制到了主机中
[root@xgy home]# ls
gitea lxqapp test.java
#拷贝是一个手动过程。后面讲使用-v 卷技术,可以实现
5.常用命令图
赞赏
如果您觉得文章还不错,那就请作者喝杯咖啡吧!