Docker的常用命令


  • 帮助命令

docker version       #显示Docker的信息
docker info         #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help    #帮助命令

帮助文档的地址:https://docs.docker.com/reference/

  • 镜像命令


docker images 查看所有本机的主机上的镜像

[root@localhost wanghao-dm8]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    bf756fb1ae65   13 months ago   13.3kB#解释
REPOSITORY  镜像的仓库源
TAG                     镜像的标签
IMAGE ID            镜像的id
CREATED         镜像的创建时间
SIZE                    镜像的大小#可选项
-a, --all           # 列出所有的镜像
-q, --quiet         #只显示镜像的id

docker search 搜索镜像

[root@localhost wanghao-dm8]# docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   10532     [OK]       #可选项,通过收藏来过滤
--filter=STARS=3000       # 搜索出来的镜像
[root@localhost wanghao-dm8]# docker search mysql --filter=STARS=3000
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   10532     [OK]
mariadb   MariaDB is a community-developed fork of MyS…   3934      [OK]
[root@localhost wanghao-dm8]# docker search mysql --filter=STARS=5000
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   10532     [OK]      收藏大于3000

docker pull 下载镜像

# 下载镜像 docker pull 镜像名[:tag]
[root@localhost wanghao-dm8]# docker pull mysql
Using default tag: latest   # 如果不写tag,默认的就是latest
latest: Pulling from library/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
#指定版本下载
[root@localhost wanghao-dm8]# docker pull mysql:5.7
5.7: Pulling from library/mysql
a076a628af6f: Already exists
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


docker rmi 删除镜像!

[root@localhost wanghao-dm8]# docker rmi -f 镜像id    # 删除指定的容器
[root@localhost wanghao-dm8]# docker rmi -f 镜像id 镜像id 镜像id 镜像id    # 删除多个镜像
[root@localhost wanghao-dm8]# docker rmi -f $(docker images -aq) # 删除全部的镜像
  • 容器命令


说明:我们有了镜像才可以创建容器,Linux,下载一个centos镜像来测试学习
docker pull centos

新建容器并启动

 docker run [可选参数] image# 参数说明--name="Name"       容器名字        tomcat01 tomcat02,用来区分容器-d                           后台方式运行-it                           使用交互方式运行,进入容器查看内容-p                          指定容器的端口 -p 8080:8080-p ip:主机端口:容器端口-p 主机端口:容器端口(常用)-p 容器端口容器端口-P                          随机指定端口# 测试,启动并进入容器
[root@localhost wanghao-dm8]# docker run -it centos /bin/bash
[root@284d7a32115f /]# ls      # 查看容器内的CentOS,基础版本,很多命令是不完善的!
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var#从容器中退回主机
[root@284d7a32115f ~]# exit
exit
[root@localhost wanghao-dm8]# cd /
[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

列出所有的容器

#docker ps 命令# 列出当前正在运行的容器
-a      # 列出当前正在运行的容器+带出历史运行过的容器
-n=?   # 显示最近创建的容器
-q          # 只显示容器的编号[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost /]# docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED             STATUS                         PORTS     NAMES
284d7a32115f   centos         "/bin/bash"   7 minutes ago       Exited (127) 2 minutes ago               peaceful_perlman
ae8308363f7e   bf756fb1ae65   "/hello"      About an hour ago   Exited (0) About an hour ago             upbeat_liskov
56948b3b1115   bf756fb1ae65   "/hello"      About an hour ago   Exited (0) About an hour ago             unruffled_proskuriakova
3cae5dbac390   bf756fb1ae65   "/hello"      About an hour ago   Exited (0) About an hour ago             awesome_golick

退出容器

exit     # 直接退出容器
Ctrl + P + Q      # 容器不停止直接退出[root@localhost /]# docker run -it centos /bin/bash
[root@30881832ba31 /]# [root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
30881832ba31   centos    "/bin/bash"   17 seconds ago   Up 15 seconds             elegant_tu

删除容器

docker rm 容器id           # 删除指定的容器,不能删除正在运行的容器,如果要强制删除rm -f[root@localhost /]# docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED             STATUS                         PORTS     NAMES
30881832ba31   centos         "/bin/bash"   8 minutes ago       Up 8 minutes                             elegant_tu
284d7a32115f   centos         "/bin/bash"   22 minutes ago      Exited (127) 18 minutes ago              peaceful_perlman
ae8308363f7e   bf756fb1ae65   "/hello"      About an hour ago   Exited (0) About an hour ago             upbeat_liskov
56948b3b1115   bf756fb1ae65   "/hello"      About an hour ago   Exited (0) About an hour ago             unruffled_proskuriakova
3cae5dbac390   bf756fb1ae65   "/hello"      About an hour ago   Exited (0) About an hour ago             awesome_golick
[root@localhost /]# docker rm 284d7a32115f
284d7a32115f
[root@localhost /]# docker rm 30881832ba31
Error response from daemon: You cannot remove a running container 30881832ba31c69b3a4c1c99b3b3917f483fc59700ba877cbd60d65e0c3cdb64. Stop the container before attempting removal or force remove
[root@localhost /]# docker rm -f 30881832ba31
30881832ba31docker rm -f $(docker ps -aq)       # 删除所有的容器[root@localhost /]# docker rm -f $(docker ps -aq)
ae8308363f7e
56948b3b1115
3cae5dbac390docker ps -a -q | xargs docker rm       # 删除所有的容器(Linux常用的管道命令)

启动和停止容器的操作

docker start 容器id            # 启动容器[root@localhost /]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED              STATUS                          PORTS     NAMES
415f2e9ac9f2   centos        "/bin/bash"   About a minute ago   Up About a minute                         quizzical_perlman
beb3aa4382b1   centos        "/bin/bash"   About a minute ago   Exited (0) About a minute ago             fervent_jones
a307ae552e33   hello-world   "/hello"      4 minutes ago        Exited (0) 4 minutes ago                  festive_euclid
[root@localhost /]# docker start beb3aa4382b1
beb3aa4382b1
[root@localhost /]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED         STATUS                     PORTS     NAMES
415f2e9ac9f2   centos        "/bin/bash"   2 minutes ago   Up 2 minutes                         quizzical_perlman
beb3aa4382b1   centos        "/bin/bash"   3 minutes ago   Up 6 seconds                         fervent_jones
a307ae552e33   hello-world   "/hello"      5 minutes ago   Exited (0) 5 minutes ago             festive_eucliddocker restart 容器id     # 重启容器[root@localhost /]# docker restart a307ae552e33
a307ae552e33
[root@localhost /]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED         STATUS                      PORTS     NAMES
415f2e9ac9f2   centos        "/bin/bash"   6 minutes ago   Up 6 minutes                          quizzical_perlman
beb3aa4382b1   centos        "/bin/bash"   6 minutes ago   Up 3 minutes                          fervent_jones
a307ae552e33   hello-world   "/hello"      9 minutes ago   Exited (0) 16 seconds ago             festive_eucliddocker stop 容器id       # 停止当前正在运行的容器[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
415f2e9ac9f2   centos    "/bin/bash"   8 minutes ago   Up 8 minutes             quizzical_perlman
beb3aa4382b1   centos    "/bin/bash"   8 minutes ago   Up 5 minutes             fervent_jones
[root@localhost /]# docker stop beb3aa4382b1
beb3aa4382b1
[root@localhost /]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED          STATUS                     PORTS     NAMES
415f2e9ac9f2   centos        "/bin/bash"   8 minutes ago    Up 8 minutes                         quizzical_perlman
beb3aa4382b1   centos        "/bin/bash"   8 minutes ago    Exited (0) 4 seconds ago             fervent_jones
a307ae552e33   hello-world   "/hello"      11 minutes ago   Exited (0) 2 minutes ago             festive_eucliddocker kill 容器id           # 强制停止当前容器(只能kill当前正在运行的容器,STATUS为running)[root@localhost /]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED          STATUS                     PORTS     NAMES
415f2e9ac9f2   centos        "/bin/bash"   8 minutes ago    Up 8 minutes                         quizzical_perlman
beb3aa4382b1   centos        "/bin/bash"   8 minutes ago    Exited (0) 4 seconds ago             fervent_jones
a307ae552e33   hello-world   "/hello"      11 minutes ago   Exited (0) 2 minutes ago             festive_euclid
[root@localhost /]# docker kill 415f2e9ac9f2
415f2e9ac9f2
[root@localhost /]# docker kill beb3aa4382b1
Error response from daemon: Cannot kill container: beb3aa4382b1: Container beb3aa4382b13cb83ac40cd41fb3ff2e6a1bb3673369aabf7aebe1456f1f9bc2 is not running

常用其他命令


后台启动容器

# 命令 docker run -d 镜像名 !# 问题docker ps,发现 centos 停止了
# 常见的坑:docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
# nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了[root@localhost /]# docker run -d centos
4c8c0f14ff9aceef9894bb0b79845c7954bdd3a6b954e8448e0ced4deb2f3a81
[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost /]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED          STATUS                      PORTS     NAMES
4c8c0f14ff9a   centos        "/bin/bash"   18 seconds ago   Exited (0) 17 seconds ago             peaceful_hofstadter
3f439b843615   centos        "/bin/bash"   2 hours ago      Exited (0) 2 hours ago                dazzling_galois
415f2e9ac9f2   centos        "/bin/bash"   5 hours ago      Exited (137) 5 hours ago              quizzical_perlman
beb3aa4382b1   centos        "/bin/bash"   5 hours ago      Exited (0) 5 hours ago                fervent_jones
a307ae552e33   hello-world   "/hello"      5 hours ago      Exited (0) 5 hours ago                festive_euclid

查看日志命令

docker logs -f -t --tail 10
[root@localhost /]# docker logs --helpUsage:  docker logs [OPTIONS] CONTAINERFetch the logs of a containerOptions:--details        Show extra details provided to logs-f, --follow         Follow log output--since string   Show logs since timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)-n, --tail string    Number of lines to show from the end of the logs (default "all")-t, --timestamps     Show timestamps--until string   Show logs before a timestamp (e.g. 2013-01-02T13:23:37Z) or relative (e.g. 42m for 42 minutes)
[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
2583ef8123ae   centos    "/bin/bash"   2 minutes ago   Up 2 minutes             friendly_keller
[root@localhost /]# docker logs -f -t --tail 10 2583ef8123ae
2021-02-22T12:07:34.673150592Z [root@2583ef8123ae /]# ls
2021-02-22T12:07:34.677676416Z bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
2021-02-22T12:07:39.740698968Z [root@2583ef8123ae /]#
2021-02-22T12:07:42.769436538Z Display all 633 possibilities? (y or n)
^C# 伪造一个控制台来整可以显示的日志
# docker run -d centos /bin/sh -c "shell程序"       #采用后台启动的方式来运行一个容器,使用sh终端控制台来运行下面的shell程序
## 补充 docker run -d imageName [这个地方写的是]
[root@localhost /]# docker run -d centos /bin/sh -c "while true;do echo wanghao;sleep 1;done"
e5b5e95de4b3283341b810b51856a1cb5cb7d1d94c1ba5fa9c35251d2a26d1fb
[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
e5b5e95de4b3   centos    "/bin/sh -c 'while t…"   6 seconds ago   Up 4 seconds             funny_mestorf
2583ef8123ae   centos    "/bin/bash"              9 minutes ago   Up 9 minutes             friendly_keller# 显示日志
-tf                         # 显示日志并且follow,并且format
--tail number       # 要显示的日志条数
[root@localhost /]# docker logs -f -t --tail 10 e5b5e95de4b3
2021-02-22T12:20:12.443279299Z wanghao
2021-02-22T12:20:13.447022774Z wanghao
2021-02-22T12:20:14.449002616Z wanghao

查看容器中进程信息 ps

#top 命令 docker top 容器id
[root@localhost /]# docker top e5b5e95de4b3
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                21584               21565               0                   20:16               ?                   00:00:00            /bin/sh -c while true;do echo wanghao;sleep 1;done
root                22759               21584               0                   20:30               ?                   00:00:00            /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1

查看镜像源数据相关信息

# 命令docker inspect 容器id
[root@localhost /]# docker inspect e5b5e95de4b3
[{"Id": "e5b5e95de4b3283341b810b51856a1cb5cb7d1d94c1ba5fa9c35251d2a26d1fb",     # 容器id的全部显示"Created": "2021-02-22T12:16:38.919218004Z",     # 镜像创建的时间"Path": "/bin/sh",     # 默认的bash控制台"Args": [             "-c","while true;do echo wanghao;sleep 1;done"],            # 运行的参数,Linux的运行的命令"State": {"Status": "running",          # 运行状态的"Running": true,"Paused": false,"Restarting": false,"OOMKilled": false,"Dead": false,"Pid": 21584,                   # CPU的PID状态"ExitCode": 0,"Error": "","StartedAt": "2021-02-22T12:16:39.770773751Z",       # 开始运行的时间"FinishedAt": "0001-01-01T00:00:00Z"                   # 结束运行的时间},"Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55","ResolvConfPath": "/var/lib/docker/containers/e5b5e95de4b3283341b810b51856a1cb5cb7d1d94c1ba5fa9c35251d2a26d1fb/resolv.conf","HostnamePath": "/var/lib/docker/containers/e5b5e95de4b3283341b810b51856a1cb5cb7d1d94c1ba5fa9c35251d2a26d1fb/hostname","HostsPath": "/var/lib/docker/containers/e5b5e95de4b3283341b810b51856a1cb5cb7d1d94c1ba5fa9c35251d2a26d1fb/hosts","LogPath": "/var/lib/docker/containers/e5b5e95de4b3283341b810b51856a1cb5cb7d1d94c1ba5fa9c35251d2a26d1fb/e5b5e95de4b3283341b810b51856a1cb5cb7d1d94c1ba5fa9c35251d2a26d1fb-json.log","Name": "/funny_mestorf","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,"CgroupnsMode": "host","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/985a013fa5cdd4834f587587180137a781560c2031468ecbe335ec492de36144-init/diff:/var/lib/docker/overlay2/db145e993f4c7a080cb0ad062a1954a5579372153681327eab071706fecdbbc6/diff","MergedDir": "/var/lib/docker/overlay2/985a013fa5cdd4834f587587180137a781560c2031468ecbe335ec492de36144/merged","UpperDir": "/var/lib/docker/overlay2/985a013fa5cdd4834f587587180137a781560c2031468ecbe335ec492de36144/diff","WorkDir": "/var/lib/docker/overlay2/985a013fa5cdd4834f587587180137a781560c2031468ecbe335ec492de36144/work"},"Name": "overlay2"},"Mounts": [],"Config": {"Hostname": "e5b5e95de4b3",             # 主机名字"Domainname": "","User": "","AttachStdin": false,"AttachStdout": false,"AttachStderr": false,"Tty": false,"OpenStdin": false,"StdinOnce": false,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],                        # 对应的环境变量"Cmd": ["/bin/sh","-c","while true;do echo wanghao;sleep 1;done"],             # CMD的控制台命令"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": "5297f32d2013f82341bca0dc78f0d662f34512763d50332b140968ff0ec8252e","HairpinMode": false,"LinkLocalIPv6Address": "","LinkLocalIPv6PrefixLen": 0,"Ports": {},"SandboxKey": "/var/run/docker/netns/5297f32d2013","SecondaryIPAddresses": null,"SecondaryIPv6Addresses": null,"EndpointID": "503831670ec11f01df130671797c341fd6486d7ac50528285872054f8f67f60e","Gateway": "172.17.0.1","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"IPAddress": "172.17.0.3","IPPrefixLen": 16,"IPv6Gateway": "","MacAddress": "02:42:ac:11:00:03","Networks": {"bridge": {                 # 当前使用的是桥接的网卡"IPAMConfig": null,"Links": null,"Aliases": null,"NetworkID": "1fa963db8eb137c8658caf569fd5c086fa948a3729e856780a8276a4beb26969","EndpointID": "503831670ec11f01df130671797c341fd6486d7ac50528285872054f8f67f60e","Gateway": "172.17.0.1","IPAddress": "172.17.0.3","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:11:00:03","DriverOpts": null}}}}
]

进入当前正在运行的容器

 # 我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置# 命令 方式一docker exec -it 容器id bashShell[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS       PORTS     NAMES
e5b5e95de4b3   centos    "/bin/sh -c 'while t…"   3 hours ago   Up 3 hours             funny_mestorf
2583ef8123ae   centos    "/bin/bash"              3 hours ago   Up 3 hours             friendly_keller
[root@localhost /]# docker exec -it e5b5e95de4b3 /bin/bash
[root@e5b5e95de4b3 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@e5b5e95de4b3 /]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 12:16 ?        00:00:03 /bin/sh -c while true;do echo wanghao;sleep 1;done
root       9373      0  0 14:52 pts/0    00:00:00 /bin/bash
root       9395      1  0 14:52 ?        00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
root       9396   9373  0 14:52 pts/0    00:00:00 ps -ef
# 方式二 命令docker attach 容器id
# 测试
[root@localhost /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS       PORTS     NAMES
e5b5e95de4b3   centos    "/bin/sh -c 'while t…"   3 hours ago   Up 3 hours             funny_mestorf
2583ef8123ae   centos    "/bin/bash"              3 hours ago   Up 3 hours             friendly_keller
[root@localhost /]# docker attach e5b5e95de4b3
wanghao
wanghao

docker exec [-it表示的是可选参数的交互模式] 容器id [Linux命令] # 进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach 容器id # 进入容器正在执行的终端,不会启动新的进程!

从容器中拷贝到主机

# docker cp 容器id:容器中的路径 主机中的路径
# 进入docker容器内部
[root@localhost wanghao-dm8]# docker attach 2583ef8123ae
[root@2583ef8123ae /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@2583ef8123ae /]# cd ~
[root@2583ef8123ae ~]# ls
anaconda-ks.cfg  anaconda-post.log  original-ks.cfg
# 在容器中新建一个文件
[root@2583ef8123ae ~]# touch test.java
[root@2583ef8123ae ~]# ls
anaconda-ks.cfg  anaconda-post.log  original-ks.cfg  test.java
# 退出容器
[root@2583ef8123ae ~]# exit
[root@localhost wanghao-dm8]# docker ps -a
CONTAINER ID   IMAGE         COMMAND                  CREATED       STATUS                      PORTS     NAMES
e5b5e95de4b3   centos        "/bin/sh -c 'while t…"   3 hours ago   Up 3 hours                            funny_mestorf
2583ef8123ae   centos        "/bin/bash"              3 hours ago   Exited (0) 13 seconds ago             friendly_keller
4c8c0f14ff9a   centos        "/bin/bash"              3 hours ago   Exited (0) 3 hours ago                peaceful_hofstadter
3f439b843615   centos        "/bin/bash"              5 hours ago   Exited (0) 5 hours ago                dazzling_galois
415f2e9ac9f2   centos        "/bin/bash"              8 hours ago   Exited (137) 8 hours ago              quizzical_perlman
beb3aa4382b1   centos        "/bin/bash"              8 hours ago   Exited (0) 8 hours ago                fervent_jones
a307ae552e33   hello-world   "/hello"                 9 hours ago   Exited (0) 8 hours ago                festive_euclid
# 将这个文件拷贝出来到主机上
[root@localhost wanghao-dm8]# docker cp 2583ef8123ae:/root/test.java /home/wanghao-dm8/
[root@localhost wanghao-dm8]# ls
test.java  公共  模板  视频  图片  文档  下载  音乐  桌面# 拷贝是一个手动过程,备份之类的不建议使用

 # 摘取自 docker --helpattach      Attach local standard input, output, and error streams to a running containerbuild       Build an image from a Dockerfilecommit      Create a new image from a container's changescp          Copy files/folders between a container and the local filesystemcreate      Create a new containerdiff        Inspect changes to files or directories on a container's filesystemevents      Get real time events from the serverexec        Run a command in a running containerexport      Export a container's filesystem as a tar archivehistory     Show the history of an imageimages      List imagesimport      Import the contents from a tarball to create a filesystem imageinfo        Display system-wide informationinspect     Return low-level information on Docker objectskill        Kill one or more running containersload        Load an image from a tar archive or STDINlogin       Log in to a Docker registrylogout      Log out from a Docker registrylogs        Fetch the logs of a containerpause       Pause all processes within one or more containersport        List port mappings or a specific mapping for the containerps          List containerspull        Pull an image or a repository from a registrypush        Push an image or a repository to a registryrename      Rename a containerrestart     Restart one or more containersrm          Remove one or more containersrmi         Remove one or more imagesrun         Run a command in a new containersave        Save one or more images to a tar archive (streamed to STDOUT by default)search      Search the Docker Hub for imagesstart       Start one or more stopped containersstats       Display a live stream of container(s) resource usage statisticsstop        Stop one or more running containerstag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGEtop         Display the running processes of a containerunpause     Unpause all processes within one or more containersupdate      Update configuration of one or more containersversion     Show the Docker version informationwait        Block until one or more containers stop, then print their exit codes

版权:狂神Docker上课笔记+部分原创,之后还会填充

混入相关的Linux操作系统知识食用更佳,当然本人是小白一枚,欢迎指教!!!

Docker最最最最基本的相关操作(不全,还会补充)相关推荐

  1. python从入门到大神---4、python3文件操作最最最最简单实例

    python从入门到大神---4.python3文件操作最最最最简单实例 一.总结 一句话总结: python文件操作真的很简单,直接在代码中调用文件操作的函数比如open().read(),无需引包 ...

  2. 【环境搭建】Docker镜像相关操作(切换镜像源、查询、获取、查看、创建、上传、保存、删除等)

    目录 1 镜像源查看及设置 2 镜像相关操作 2.1 获取镜像列表 2.2 镜像下载 2.3 查看本地的镜像 2.4 从镜像创建容器 2.5 将容器抽象为镜像--commit 2.6 将容器抽象为镜像 ...

  3. K8s Docker 相关操作指令

    文章目录 1 Docker镜像删除的多种方法 2 Docker常见问题 3 K8s节点驱逐 4 Centos7 修改Docker Root Dir 5 K8s 重新生成token并加入集群 6 K8s ...

  4. 5.2.2 std::atomic_flag的相关操作

    5.2.2 std::atomic_flag的相关操作 std::atomic_flag 是最简单的标准原子类型,它表示了一个布尔标志.这个类型的对象可以在两个状态间切换:设置和清除.它就是那么的简单 ...

  5. OpenShift 4 之 Image Registry、Image 和 ImageStream 概念和相关操作

    <OpenShift 4.x HOL教程汇总> OpenShift 4 之 Image Registry.Image 和 ImageStream 概念和相关操作 概念篇 1. Contai ...

  6. layui数据表格如何获取id_LayUI之table数据表格获取行、行高亮等相关操作

    前言 目前LayUI数据表格既美观有不乏一些实用功能.基本上表格应有的操作已经具备,LayUI作者[贤心]肯定是煞费苦心去优化,此处致敬.但是实话实话,如果单纯那数据表格功能来说,EasUI的数据表格 ...

  7. 【Docker学习总结】12.Docker守护进程的配置和操作

    上一篇总结了Docker的CS模式的具体概念,本篇来学习Docker守护进程的配置和操作. 在上一篇的演示中,我们使用了Linux的ps命令查看了Docker守护进程的运行状态.那么,除了ps命令,我 ...

  8. 最最最最基本的服务器网站维护防御攻略

    最最最最基本的服务器网站维护防御攻略 由于最近网站服务器被暴力破解过一次导致数据库文件丢失被威胁过一次. 虽然好在本地有数据库备份成功备份没有太大影响,但是这不得不让我们开始留心服务器以及网站的安全方 ...

  9. python文件式和交互式道路标志_其它课程中的python---4、Matplotlib最最最最简单使用...

    其它课程中的python---4.Matplotlib最最最最简单使用 一.总结 一句话总结: 慢慢来吧,不着急,心态平和和沉稳:每次和世界交互,你就能感受到无比的自信 1.如何区别python2和p ...

  10. Docker我是真的全(没骗人[三万字巨详细])--Docker虚拟机安装部署及常规操作

    Docker 1. 为什么使用Docker 1.1.Docker的使用场景一 1.2.Docker的使用场景二 1.3.Docker的使用场景三 2.Docker 介绍 2.1. 什么是虚拟化 2.2 ...

最新文章

  1. Go 学习笔记(61)— Go 高阶函数、函数作为一等公民(函数作为输入参数、返回值、变量)的写法
  2. Nature重大突破!将皮肤细胞直接转化成感光细胞让小鼠重见光明!
  3. C++学习点滴(多次调用同一个类)
  4. Windows Phone UI控件
  5. 计算机二级C语言辅导j机构,全国计算机二级C语言公基础知识辅导.pptx
  6. Sql数据库批量清理日志
  7. 中希尔排序例题代码_十大经典排序算法最强总结
  8. django跳转到其他页面的方式
  9. android学习笔记---31_多线程断点下载器,下载原理实现
  10. keil5怎么接入汇编_keil中如何让汇编语言生成hex文件
  11. 【Oracle】数据迁移工具(1):SQL Loader
  12. 电脑软件从通过运行开启(耍帅必会)
  13. Javascript常用函数、方法速查手册
  14. 01 MQTT小例子-连接
  15. 三大流量站点你适合做哪个?
  16. Pytorch中torchvision.datasets.ImageFolder报错:Found 0 files in subfolders of:XXX,完美解决!
  17. windows内存占用过高解决方法
  18. JVM进阶(十二):JAVA 可视化分析工具实战
  19. NFS共享服务搭建详细流程
  20. Threejs系列--22游戏开发--沙漠赛车游戏【布置游戏开始场景】

热门文章

  1. 心电图特效代码 html5,用canvas画心电图的示例代码
  2. 李永辉:IBM大数据产品及实践路线图
  3. 计算机IP怎么设置成固定的,如何给电脑设置固定IP地址
  4. 倒推法解决“四人玩火柴棍游戏,每一次都是三个人赢,一个人输”问题
  5. webstorm或phpstorm配置CSS或JS压缩
  6. 电口模块(Copper SFP)、xSFP+ Cable、光模块有什么区别
  7. 没考驾照的恭喜了!上海打响第一枪!
  8. 软件开发行业,年轻与大龄程序员的生存现状究竟如何?
  9. Maven 设置项目编码
  10. 腾讯在汉投资10亿 建设华中地区最大研发中心