文章目录

  • 1、`docker run` 新建并运行容器
    • 1.1、`--name 别名` 给容器起别名
  • 2、`docker ps` 列出当前docker中 `正在运行` 的 `容器`
    • 2.1、`docker ps [option]` :
  • 3、`docker start` 启动容器(已停止运行的容器)
  • 4、`docker run` 与 `docker start`的区别
    • 相同点:
    • 不同点:
  • 5、 `docker restart` 将正在运行的容器 重启
  • 6、 `docker stop 容器ID` :(温柔地)停止容器
  • 7、`docker kill 容器ID` :(立即、暴力、强制)停止容器
  • 8、`docker rm 容器ID` :删除已停止的容器
    • 8.1、`docker rmi 镜像ID` :删除镜像
    • 8.2、`docker rm -f 容器ID` :强制删除容器(包括正在运行和停止的容器)
    • 8.3、一次性删除多个容器
  • 9、`docker run -d 容器名` 启动守护式容器(后台模式创建并运行容器)
  • 10、`docker log 容器id `: 查看容器日志
  • 11、`docker top 容器ID`: 查看 容器内运行的进程
  • 12、`docker inspect 容器ID`: 查看 容器 内部 细节
  • 13、进入正在运行的容器
    • 13.1、`docker attach 容器id`
    • 13.2、`docker exec`
      • 13.2.1 、` docker exec -it 容器ID` 进入容器中
      • 13.2.2、`docker exec -t 容器id shell命令`
      • 13.2.3、`docker attach` 与 `docker exec` 的区别
  • 14、`docker cp 容器ID:容器路径 宿主机目录`

docker 容器 常用的操作命令

1、docker run 新建并运行容器

docker run -it centos : 运行一个 centos 容器

[root@localhost java]# docker run -it 75835a67d134
[root@6d69ff2cbd03 /]# cd /
[root@6d69ff2cbd03 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@6d69ff2cbd03 /]# pwd
/
[root@6d69ff2cbd03 /]#

打开一个新的终端,查看 docker中运行的容器

[root@localhost java]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
6d69ff2cbd03        75835a67d134        "/bin/bash"         26 seconds ago      Up 25 seconds                           dreamy_chandrasekhar
[root@localhost java]#

1.1、--name 别名 给容器起别名

docker run -it --name mycentos124 centos: 运行一个 centos 容器,并通过--name参数指定一个别名为mycentos111

[root@localhost java]# docker run -it --name mycentos111 75835a67d134
[root@129ff84a96b4 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@129ff84a96b4 /]#

docker ps命令查看正在运行的容器,最后一列names为刚才指定的别名

[root@localhost java]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
129ff84a96b4        75835a67d134        "/bin/bash"         18 seconds ago      Up 17 seconds                           mycentos111
[root@localhost java]#

2、docker ps 列出当前docker中 正在运行容器

docker ps :列出当前docker中 正在运行容器

docker ps

[root@localhost java]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
7ba0aaaccee9        75835a67d134        "/bin/bash"         11 seconds ago      Up 9 seconds                            pensive_hypatia

2.1、docker ps [option]

-a: 列出当前所有正在运行的容器 + 历史上运行过的容器
-l: 显示 上一次运行过的容器
-n: 显示 上 n 次运行过的容器
-q: 静默模式,只显示容器编号
--no-trunc: 不截断输出

docker ps -a:(列出当前所有正在运行的容器 + 历史上运行过的容器)

[root@localhost java]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES
7ba0aaaccee9        75835a67d134        "/bin/bash"              10 minutes ago      Exited (0) 7 minutes ago                          pensive_hypatia
b25d05ece250        centos              "/bin/sh -c 'while t…"   3 days ago          Exited (255) 15 minutes ago                       priceless_morse
d4cca0323327        centos              "/bin/bash"              3 days ago          Exited (0) 3 days ago                             determined_meninsky
6f0d900f3a0e        75835a67d134        "/bin/bash"              3 days ago          Exited (137) 3 days ago                           mycentos
d38621653e1b        75835a67d134        "/bin/bash"              3 days ago          Exited (137) 3 days ago                           lucid_shtern
8d177f15646c        4ab4c602aa5e        "/hello"                 3 days ago          Exited (0) 3 days ago                             dreamy_hopper
678219b66f73        4ab4c602aa5e        "/hello"                 3 days ago          Exited (0) 3 days ago                             suspicious_yonath

docker ps -l: (显示 上一次运行过的容器)

[root@localhost java]# docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
7ba0aaaccee9        75835a67d134        "/bin/bash"         10 minutes ago      Exited (0) 7 minutes ago                       pensive_hypatia

docker ps -n num :(显示 最近运行过的 num 个容器)

docker ps -n 2 :最近运行过的2个容器

[root@localhost /]#  docker ps -n 2
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS               NAMES
129ff84a96b4        75835a67d134        "/bin/bash"         9 days ago          Up 10 minutes                               mycentos111
6d69ff2cbd03        75835a67d134        "/bin/bash"         9 days ago          Exited (0) 9 days ago                       dreamy_chandrasekhar
[root@localhost /]#

docker ps -lq:(显示 上一次运行过的容器的 容器id)

[root@localhost java]# docker ps -lq
7ba0aaaccee9

docker ps -aq: (列出当前所有正在运行的容器 + 历史上运行过的容器的 容器id)

[root@localhost java]# docker ps -aq
7ba0aaaccee9
b25d05ece250
d4cca0323327
6f0d900f3a0e
d38621653e1b
8d177f15646c
678219b66f73

3、docker start 启动容器(已停止运行的容器)

[root@localhost java]# docker ps -l       # 查看上一次运行的容器
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
129ff84a96b4        75835a67d134        "/bin/bash"         20 minutes ago      Exited (0) 23 seconds ago                       mycentos111
[root@localhost java]#
[root@localhost java]# docker start 129ff84a96b4  #重新启动容器,129ff84a96b4是容器的id
129ff84a96b4
[root@localhost java]#

4、docker rundocker start的区别

相同点:

都能启动容器。

不同点:

docker run :启动的是镜像,通过镜像创建容器,并启动。
docker start :启动的是历史的容器;

docker run 只在第一次运行容器时,需要通过 镜像 创建 容器。以后再次启动这个容器时,只需要使用命令 docker start 即可。
docker run 相当于执行了两步操作:

  • 1.将镜像放入容器中(docker create);
  • 2.然后将容器启动,使之变成运行时容器(docker start)。

docker start
docker start 的作用是,重新启动已存在的容器。
使用这个命令,我们必须事先知道这个容器的ID,可以使用docker ps 的命令找到这个容器的信息,然后 使用 docker start 命令启动容器。

5、 docker restart 将正在运行的容器 重启

[root@localhost java]# docker ps   # 查看正在运行的容器,STATUS是7分钟
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
129ff84a96b4        75835a67d134        "/bin/bash"         28 minutes ago      Up 7 minutes                            mycentos111
[root@localhost java]#
[root@localhost java]# docker restart 129ff84a96b4   # 重启容器
129ff84a96b4                                         # 重启完毕后,返回一个容器id
[root@localhost java]#
[root@localhost java]# docker ps    #查看正在运行的容器,STATUS是4秒钟
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
129ff84a96b4        75835a67d134        "/bin/bash"         29 minutes ago      Up 4 seconds                            mycentos111
[root@localhost java]#

6、 docker stop 容器ID :(温柔地)停止容器

执行时,需要等一段时间

7、docker kill 容器ID :(立即、暴力、强制)停止容器

强制执行,立马完成

8、docker rm 容器ID :删除已停止的容器

[root@localhost /]# docker ps -n 2
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                  PORTS               NAMES
129ff84a96b4        75835a67d134        "/bin/bash"         9 days ago          Up 35 minutes                               mycentos111
6d69ff2cbd03        75835a67d134        "/bin/bash"         9 days ago          Exited (0) 9 days ago                       dreamy_chandrasekhar
[root@localhost /]# docker rm 6d69ff2cbd03
6d69ff2cbd03
[root@localhost /]#

无法删除正在运行的容器,会报错的

[root@localhost /]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
129ff84a96b4        75835a67d134        "/bin/bash"         9 days ago          Up 21 seconds                           mycentos111
[root@localhost /]#
[root@localhost /]# docker rm 129ff84a96b4
Error response from daemon: You cannot remove a running container 129ff84a96b41936b40f5d3d018444c71fbe0837f9c75fa3e66c4761e48fe094. Stop the container before attempting removal or force remove

8.1、docker rmi 镜像ID :删除镜像

8.2、docker rm -f 容器ID :强制删除容器(包括正在运行和停止的容器)

[root@localhost /]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
129ff84a96b4        75835a67d134        "/bin/bash"         9 days ago          Up 21 seconds                           mycentos111
[root@localhost /]#
[root@localhost /]#
[root@localhost /]# docker rm 129ff84a96b4
Error response from daemon: You cannot remove a running container 129ff84a96b41936b40f5d3d018444c71fbe0837f9c75fa3e66c4761e48fe094. Stop the container before attempting removal or force remove
[root@localhost /]#
[root@localhost /]# docker rm -f 129ff84a96b4
129ff84a96b4
[root@localhost /]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@localhost /]#

8.3、一次性删除多个容器

docker rm -f $(docker ps -aq)
docker ps -aq | xargs docker rm

9、docker run -d 容器名 启动守护式容器(后台模式创建并运行容器)

docker run -d centos

docker ps -a进行查看,发现容器已经退出 。
很重要的产明一点:Docker容器后台运行,就必须有一个前台进程
容器运行的命令如果不是那些一直挂起的命令(如top、tail),就是会自动退出 。

以nginx为例,启动服务service nginx start
但是nginx为后台进程模式运行,就导致docker前台没有运行的应用,
这样的容器后启启动后,会立即自杀,因为它觉得它没事可做。

最佳解决方案是 将要运行的程序 以 前台进程 的形式运行

10、docker log 容器id: 查看容器日志

参数说明:
-t: 加入时间戳
-f: 实时打印出最新的日志
--tail: 显示最后多少条

先运行一段程序:
while true; do echo hello zzyy; sleep 2; done

[root@localhost java]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@localhost java]# docker run -d centos /bin/sh  -c  "while true;do echo hello zzyy;sleep 2;done"
2db1ff5cc3a18cc869e931de7109a34a5fd02a26df610cc1fca12e06e00a96b4
[root@localhost java]#
[root@localhost java]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
2db1ff5cc3a1        centos              "/bin/sh -c 'while t…"   15 seconds ago      Up 14 seconds                           elastic_bhaskara
[root@localhost java]#

docker logs 2db1ff5cc3a1:一次性显示所有的日志

[root@localhost java]# docker logs 2db1ff5cc3a1
hello zzyy
hello zzyy
hello zzyy
hello zzyy
hello zzyy
hello zzyy
hello zzyy
hello zzyy

docker logs -t --tail 5一次性显示最新的5条日志,并加上时间戳

[root@localhost java]# docker logs -t  --tail 5 2db1ff5cc3a1
2018-11-08T09:47:00.808550916Z hello zzyy
2018-11-08T09:47:02.812877422Z hello zzyy
2018-11-08T09:47:04.816929773Z hello zzyy
2018-11-08T09:47:06.821516115Z hello zzyy
2018-11-08T09:47:08.825211232Z hello zzyy

docker logs -t -f --tail 5:刚开始显示出最新5条日志,并实时动态打印出最新的日志

[root@localhost java]# docker logs -t -f  --tail 5 2db1ff5cc3a1
2018-11-08T09:47:04.816929773Z hello zzyy
2018-11-08T09:47:06.821516115Z hello zzyy
2018-11-08T09:47:08.825211232Z hello zzyy
2018-11-08T09:47:10.827242700Z hello zzyy
2018-11-08T09:47:12.831193573Z hello zzyy
2018-11-08T09:47:14.835069567Z hello zzyy
2018-11-08T09:47:16.840180042Z hello zzyy
2018-11-08T09:47:18.841954295Z hello zzyy
2018-11-08T09:47:20.844636084Z hello zzyy
2018-11-08T09:47:22.848753931Z hello zzyy
2018-11-08T09:47:24.851426354Z hello zzyy
2018-11-08T09:47:26.854595560Z hello zzyy
.....(实时动态打印出最新的日志)

前期数据准备
docker run -it centos

[root@localhost java]# docker run -it centos
[root@f809b6f11262 /]#
[root@f809b6f11262 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

Ctrl + p + q:退出不停止容器

[root@f809b6f11262 /]# [root@localhost java]#
[root@localhost java]#
[root@localhost java]#

验证,容器还在运行中

[root@localhost java]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
f809b6f11262        centos              "/bin/bash"              4 minutes ago       Up 4 minutes                            kind_ardinghelli
2db1ff5cc3a1        centos              "/bin/sh -c 'while t…"   27 minutes ago      Up 27 minutes                           elastic_bhaskara
[root@localhost java]#

11、docker top 容器ID: 查看 容器内运行的进程

[root@localhost /]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e5c067f6cf05        centos              "/bin/bash"         15 seconds ago      Up 14 seconds                           boring_yonath
[root@localhost /]#
[root@localhost /]# docker top e5c067f6cf05
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                9647                9630                0                   10:10               pts/0               00:00:00            /bin/bash
[root@localhost /]#

12、docker inspect 容器ID: 查看 容器 内部 细节

[root@localhost /]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e5c067f6cf05        centos              "/bin/bash"         15 seconds ago      Up 14 seconds                           boring_yonath
[root@localhost /]#
[root@localhost /]# docker inspect  e5c067f6cf05
[{"Id": "e5c067f6cf05a0c1a0b59c9c50d8110bb51c450ef5dd3fc66e0d5dc809ae4948","Created": "2018-11-17T02:10:42.752667811Z","Path": "/bin/bash","Args": [],"State": {"Status": "running","Running": true,"Paused": false,"Restarting": false,"OOMKilled": false,"Dead": false,"Pid": 9647,"ExitCode": 0,"Error": "","StartedAt": "2018-11-17T02:10:43.39905234Z","FinishedAt": "0001-01-01T00:00:00Z"},"Image": "sha256:75835a67d1341bdc7f4cc4ed9fa1631a7d7b6998e9327272afea342d90c4ab6d","ResolvConfPath": "/var/lib/docker/containers/e5c067f6cf05a0c1a0b59c9c50d8110bb51c450ef5dd3fc66e0d5dc809ae4948/resolv.conf","HostnamePath": "/var/lib/docker/containers/e5c067f6cf05a0c1a0b59c9c50d8110bb51c450ef5dd3fc66e0d5dc809ae4948/hostname","HostsPath": "/var/lib/docker/containers/e5c067f6cf05a0c1a0b59c9c50d8110bb51c450ef5dd3fc66e0d5dc809ae4948/hosts","LogPath": "/var/lib/docker/containers/e5c067f6cf05a0c1a0b59c9c50d8110bb51c450ef5dd3fc66e0d5dc809ae4948/e5c067f6cf05a0c1a0b59c9c50d8110bb51c450ef5dd3fc66e0d5dc809ae4948-json.log","Name": "/boring_yonath","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,"Dns": [],"DnsOptions": [],"DnsSearch": [],"ExtraHosts": null,"GroupAdd": null,"IpcMode": "shareable","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,"DiskQuota": 0,"KernelMemory": 0,"MemoryReservation": 0,"MemorySwap": 0,"MemorySwappiness": null,"OomKillDisable": false,"PidsLimit": 0,"Ulimits": null,"CpuCount": 0,"CpuPercent": 0,"IOMaximumIOps": 0,"IOMaximumBandwidth": 0,"MaskedPaths": ["/proc/acpi","/proc/kcore","/proc/keys","/proc/latency_stats","/proc/timer_list","/proc/timer_stats","/proc/sched_debug","/proc/scsi","/sys/firmware"],"ReadonlyPaths": ["/proc/asound","/proc/bus","/proc/fs","/proc/irq","/proc/sys","/proc/sysrq-trigger"]},"GraphDriver": {"Data": {"LowerDir": "/var/lib/docker/overlay2/eb776128c5941c3b929889fe4b1289a7b513d6f302a3ebec13ad4eb8d9b22ab1-init/diff:/var/lib/docker/overlay2/a90bdbf605bdab60f549f72471d9dd13e1a42c8a1a72d311a4ea393ad518666d/diff","MergedDir": "/var/lib/docker/overlay2/eb776128c5941c3b929889fe4b1289a7b513d6f302a3ebec13ad4eb8d9b22ab1/merged","UpperDir": "/var/lib/docker/overlay2/eb776128c5941c3b929889fe4b1289a7b513d6f302a3ebec13ad4eb8d9b22ab1/diff","WorkDir": "/var/lib/docker/overlay2/eb776128c5941c3b929889fe4b1289a7b513d6f302a3ebec13ad4eb8d9b22ab1/work"},"Name": "overlay2"},"Mounts": [],"Config": {"Hostname": "e5c067f6cf05","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"],"ArgsEscaped": true,"Image": "centos","Volumes": null,"WorkingDir": "","Entrypoint": null,"OnBuild": null,"Labels": {"org.label-schema.build-date": "20181006","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": "8e1661f0fbc96610eb4ab01d0166443e8189ca759329ca95150cb989d1af2917","HairpinMode": false,"LinkLocalIPv6Address": "","LinkLocalIPv6PrefixLen": 0,"Ports": {},"SandboxKey": "/var/run/docker/netns/8e1661f0fbc9","SecondaryIPAddresses": null,"SecondaryIPv6Addresses": null,"EndpointID": "006fb5b926d54daadcda188369236be67908bbdb1310e79f0b636abc77cb73a5","Gateway": "172.17.0.1","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"IPAddress": "172.17.0.2","IPPrefixLen": 16,"IPv6Gateway": "","MacAddress": "02:42:ac:11:00:02","Networks": {"bridge": {"IPAMConfig": null,"Links": null,"Aliases": null,"NetworkID": "b86eaa6c95246202448c80efc996de4d9b35badd9ed3fbc824447f81490f7e0a","EndpointID": "006fb5b926d54daadcda188369236be67908bbdb1310e79f0b636abc77cb73a5","Gateway": "172.17.0.1","IPAddress": "172.17.0.2","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:11:00:02","DriverOpts": null}}}}
]
[root@localhost /]# 

13、进入正在运行的容器

13.1、docker attach 容器id

docker attach 容器id:从宿主机 进入容器中

[root@localhost java]# docker attach f809b6f11262
[root@f809b6f11262 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@f809b6f11262 /]#

13.2、docker exec

13.2.1 、docker exec -it 容器ID 进入容器中

docker exec -it 容器IDdocker attach 容器id 是等价的。

示例:

[root@localhost java]# docker exec -it 81bc97b5bc57 /bin/sh
sh-4.2#
sh-4.2#
sh-4.2# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

参数:

  • -t 表示 客户端;
  • -i 表示 交互 。

13.2.2、docker exec -t 容器id shell命令

在宿主机中,不用进入容器中,对容器发出 执行命令

[root@localhost java]# docker run -it centos
[root@81bc97b5bc57 /]#
[root@81bc97b5bc57 /]# [root@localhost java]#  #【此处是退出不停止容器】
[root@localhost java]#
[root@localhost java]# docker exec -t 81bc97b5bc57 ls -l /tmp
total 4
-rwx------. 1 root root 836 Oct  6 19:15 ks-script-7RxiSx
-rw-------. 1 root root   0 Oct  6 19:14 yum.log
[root@localhost java]#

docker exec -t 81bc97b5bc57 ls -l /tmp 说明:

  • docker exec -t 81bc97b5bc57docker exec -t 容器id,在宿主机中,而不是在容器中,对容器执行命令。
  • ls -l /tmp 是显示目录tmp的结构。
    二者联在一块就是在宿主机中执行对容器的tmp目录的显示操作

13.2.3、docker attachdocker exec 的区别

docker attach: 直接进入容器启动命令的终端,不会启动新的进程;

docker exec:既可以 直接进入容器启动命令的终端,也可以在宿主机中打开新的终端,并且可以启动新的进程

14、docker cp 容器ID:容器路径 宿主机目录

终端A:(进入容器,并执行写入操作)

[root@localhost /]# docker attach e5c067f6cf05
[root@e5c067f6cf05 /]# ls
anaconda-post.log  bin  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@e5c067f6cf05 /]# cd tmp/
[root@e5c067f6cf05 tmp]# ls
ks-script-7RxiSx  yum.log
[root@e5c067f6cf05 tmp]# cat yum.log
[root@e5c067f6cf05 tmp]# echo "aaaaaaaa" > yum.log
[root@e5c067f6cf05 tmp]# cat yum.log
aaaaaaaa

终端B:

在宿主机中 ,从容器中复制文件,格式:docker cp 容器ID:路径 宿主机目录

[root@localhost java]# ls
公共  模板  视频  图片  文档  下载  音乐  桌面
[root@localhost java]# cd 桌面
[root@localhost 桌面]# ls
[root@localhost 桌面]#
[root@localhost 桌面]# mkdir tmp
[root@localhost 桌面]# cd tmp/
[root@localhost tmp]# docker cp e5c067f6cf05:/tmp/yum.log  ./
[root@localhost tmp]# ls
yum.log
[root@localhost tmp]# cat yum.log
aaaaaaaa
[root@localhost tmp]#

docker 入门 —— docker容器常用的操作命令相关推荐

  1. docker入门之容器网络

    docker入门之容器网络 首发:arppinging.com 一.网络命名空间1)IP命令2)实例二.网络模型三.容器中常见的网络操作1)指定网络模式2)指定容器的dns地址和hosts解析四.网桥 ...

  2. Docker 学习笔记(Docker 架构 / 镜像 / 容器 / 常用命令 / Dockerfile / 镜像仓库)

    Docker 1. Docker 入门 1.1 Docker 是什么 1.2 Docker 和 虚拟机 1.3 镜像 容器 仓库 1.4 Docker 架构 1.5 Docker 安装 1.6 doc ...

  3. docker入门,镜像,容器,数据卷,dockerfile,docker网络,springboot微服务打包docker镜像[狂神yyds]

    docker学习大纲 docker概述 docker安装 docker命令 镜像命令 容器命令 操作命令 - docker镜像 容器数据卷 dockerfile docker网络原理 IDEA整合do ...

  4. 1 分钟记住 docker 镜像和容器常用基本命令

    作者 | xiaochuhe 来源 | CSDN博客 镜像常用基本命令 查看自己服务器中docker 镜像列表 docker images 搜索镜像 docker search 镜像名 docker ...

  5. 2.Docker入门到精通—常用命令

    1.帮助启动类命令 启动docker: systemctl start docker 停止docker: systemctl stop docker 重启docker: systemctl resta ...

  6. Docker镜像和容器常用命令

    一..Docker帮助命令 1.显示docker的版本信息 docker version 2.显示docker的系统信息,包括镜像和容器的数量 docker info 3.docker帮助命令 doc ...

  7. docker镜像、容器 常用命令,容器端口映射

    文章目录 前言 一.docker基础命令 二.docker镜像命令 1.docker images:列出本地主机的镜像 2. docker search :查看镜像 3.docker pull:拉取镜 ...

  8. Docker入门教程和常用命令

    文章目录 一.初始docker 二.docker命令 三.docker容器的数据卷 四.docker应用部署 一.初始docker 1. 开发环境.测试环境.生产环境: 2. 开源应用容器引擎:开发者 ...

  9. docker 入门 —— docker 镜像命令

    docker 镜像命令 文章目录 常用镜像操作命令 常用容器操作命令 1.`docker images` 列出本地主机上的镜像 1.1.参数: 2.`docker search 镜像名字` 搜索镜像 ...

最新文章

  1. Nagios的安装和基本配置(三:Nagios-Client的安装)
  2. 亲测可以使用的:Maven将中央仓库修改为阿里云的maven仓库
  3. 【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题
  4. php.ini在哪里 微赞_Php.ini文件位置在哪里 Php.ini文件找不到
  5. 学习笔记之-MySql高级之sql优化
  6. ubuntu下面的java一键运行脚本
  7. 在AWS控制台里创建key Pair
  8. W3 Total Cache+Hacklog Remote Attachment Upyun
  9. PE文件格式详解(下)
  10. sqlmap教程(burpsuit辅助)
  11. 怎样音频转文字?用这些音频转文字免费版就可以啦
  12. 打造全WINDOWS平台“微软五笔”GBK版!
  13. linux环境下刷机9008,LINUX下线刷修复变砖手机
  14. Proteus的基本使用方法
  15. 回溯 + 剪枝 无重复元素的数组 candidates 和一个目标数 target 数字可以无限制重复被选取
  16. Phoenix踩坑填坑记录
  17. mysql加载audit失败_MySQL5.5 安装mcafee mysql-audit插件 不成功
  18. 二级域名原理以及程序代码
  19. SDNFV Fest论坛成功举办 全景展现SDN/NFV测试成果
  20. java打印等腰三角形

热门文章

  1. PMFS文件系统挂载
  2. 干货 | 工程师必收藏的电路图符号大全,人手一份!
  3. 顾问观察|5天突破!如何利用MBS改善制造QCD经营指标?
  4. 【游戏客户端面试题干货】-- 2021年度最新游戏客户端面试干货( 计算机网络篇 )
  5. 搭建ELK日志分析平台(下)—— 搭建kibana和logstash服务器
  6. 北理 计算机学院 钟宏,施重阳_北京理工大学计算机学院
  7. OC学习笔记之006面向对象包装类,协议
  8. Ubuntu14.04 for ROS indigo的安装(电脑配置)
  9. UVALive - 4380 Javanese Cryptoanalysis
  10. 大学生求职 一些靠谱的求职网站