Docker容器命令汇总

1. 启动容器

启动容器命令语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

一般除了测试docker是否启动成功会直接使用docker run 镜像名,其他情况一般都是需要启动交互式容器。启动交互式容器的理解是:启动容器后,进入容器进行其他的操作,命令语法:

docker run -it[it:交互式启动] --name=myUbuntu[定义容器名称] ubuntu /bin/bash

[root@VM-4-16-centos ~]# docker run -it ubuntu /bin/bash
root@18a606d7a268:/# 

效果可知,返回了一个容器ID,18a606d7a268,目前已经进入了Ubuntu容器的内部。如果想给启动的容器自定义名字,使用--name参数,命令如下

# 对启动的容器进行自定义名称
[root@VM-4-16-centos ~]# docker run -it --name=myUbuntu ubuntu /bin/bash
root@47991bee2374:/# 


# 查看运行中的容器 NAMES中的myUbuntu就是刚才命名的容器
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
47991bee2374   ubuntu    "/bin/bash"   8 seconds ago   Up 7 seconds             myUbuntu
18a606d7a268   ubuntu    "/bin/bash"   7 minutes ago   Up 7 minutes            amazing_curie

  • 2. 查询所有正在运行的容器

命令语法:docker ps

# 查询正在运行的容器
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
47991bee2374   ubuntu    "/bin/bash"   8 seconds ago   Up 7 seconds             myUbuntu
18a606d7a268   ubuntu    "/bin/bash"   7 minutes ago   Up 7 minutes             amazing_curie

3. 退出容器

退出容器有两种方式,

  • 一种是使用命令exit。使用exit退出容器,容器会停止
  • 一种是使用命令ctrl+p+q,使用ctrl+p+q退出容器,容器不会停止。

演示效果

# 启动好两个Ubuntu容器,名字分别是myubuntu1和myubuntu2
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED              STATUS              PORTS     NAMES
ca1d8421f63d   ubuntu    "/bin/bash"   14 seconds ago       Up 13 seconds                 myubuntu2
358345c971ac   ubuntu    "/bin/bash"   About a minute ago   Up About a minute             myubuntu1

# 使用exit退出myubuntu1
# 启动命令
[root@VM-4-16-centos ~]# docker run -it --name=myubuntu1 ubuntu /bin/bash
# 退出命令
root@358345c971ac:/# exit
exit
[root@VM-4-16-centos ~]# 

# 使用ctrl+p+q退出myubuntu2
# 启动命令
[root@VM-4-16-centos ~]# docker run -it --name=myubuntu2 ubuntu /bin/bash
# 执行ctrl+p+q
root@ca1d8421f63d:/# [root@VM-4-16-centos ~]# 
[root@VM-4-16-centos ~]# 

# 再次查询运行中的容器 myubuntu2还在运行
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
ca1d8421f63d   ubuntu    "/bin/bash"   6 minutes ago   Up 6 minutes             myubuntu2
[root@VM-4-16-centos ~]# 

4. 其他常用容器命令

1、启动已停止容器的命令:docker start 容器ID/容器名称

2、重启容器的命令:docker restart 容器ID/容器名称

3、停止容器的命令:docker stop 容器ID/容器名称

4、强制停止容器的命令:docker kill 容器ID/容器名称

启动容器:

# 查看最近的3个容器 myubuntu1是停止状态
[root@VM-4-16-centos ~]# docker ps -n 3
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                      PORTS     NAMES
ca1d8421f63d   ubuntu    "/bin/bash"   10 minutes ago   Up 10 minutes                         myubuntu2
358345c971ac   ubuntu    "/bin/bash"   11 minutes ago   Exited (0) 8 minutes ago              myubuntu1
47991bee2374   ubuntu    "/bin/bash"   31 minutes ago   Exited (0) 18 minutes ago             myUbuntu

# 启动myubuntu1,通过容器ID启动,启动后返回容器ID并后台运行了
[root@VM-4-16-centos ~]# docker start 358345c971ac
358345c971ac

# myubuntu1已经是运行状态了
[root@VM-4-16-centos ~]# docker ps -n 3
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                      PORTS     NAMES
ca1d8421f63d   ubuntu    "/bin/bash"   11 minutes ago   Up 11 minutes                         myubuntu2
358345c971ac   ubuntu    "/bin/bash"   13 minutes ago   Up 7 seconds                          myubuntu1
47991bee2374   ubuntu    "/bin/bash"   32 minutes ago   Exited (0) 19 minutes ago             myUbuntu

重启容器:

[root@VM-4-16-centos ~]# docker restart 358345c971ac
358345c971ac
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
ca1d8421f63d   ubuntu    "/bin/bash"   17 minutes ago   Up 17 minutes             myubuntu2
358345c971ac   ubuntu    "/bin/bash"   19 minutes ago   Up 4 seconds              myubuntu1

停止容器:

[root@VM-4-16-centos ~]# docker stop ca1d8421f63d
ca1d8421f63d
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
358345c971ac   ubuntu    "/bin/bash"   19 minutes ago   Up 41 seconds             myubuntu1

强制停止容器:

[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS         PORTS     NAMES
ca1d8421f63d   ubuntu    "/bin/bash"   20 minutes ago   Up 6 seconds             myubuntu2
358345c971ac   ubuntu    "/bin/bash"   22 minutes ago   Up 3 minutes             myubuntu1

# 强制停止容器
[root@VM-4-16-centos ~]# docker kill ca1d8421f63d
ca1d8421f63d
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS         PORTS     NAMES
358345c971ac   ubuntu    "/bin/bash"   22 minutes ago   Up 3 minutes             myubuntu1
[root@VM-4-16-centos ~]# 

5. 删除已停止容器

该命令只能删除已经停止的容器,如果删除正在运行的容器会报错,命令演示

# 查看容器列表
[root@VM-4-16-centos ~]# docker ps -n5
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS                        PORTS     NAMES
ca1d8421f63d   ubuntu         "/bin/bash"   31 minutes ago   Exited (137) 10 minutes ago             myubuntu2
358345c971ac   ubuntu         "/bin/bash"   32 minutes ago   Up 13 minutes                           myubuntu1
47991bee2374   ubuntu         "/bin/bash"   52 minutes ago   Exited (0) 39 minutes ago               myUbuntu
18a606d7a268   ubuntu         "/bin/bash"   59 minutes ago   Exited (0) 39 minutes ago               amazing_curie
162f4d8faa4b   feb5d9fea6a5   "/hello"      3 hours ago      Exited (0) 3 hours ago                  musing_shirley

# 该容器正在运行,删除不成功,提示需要停止容器再删除
[root@VM-4-16-centos ~]# docker rm 358345c971ac
Error response from daemon: You cannot remove a running container 358345c971ac19c56c9e5dfe79199a5fe2e0a0d16e689c9158f88118f9698f38. Stop the container before attempting removal or force remove

# 删除已停止的容器,删除成功,返回容器id
[root@VM-4-16-centos ~]# docker rm 18a606d7a268
18a606d7a268

# 删除的容器就没有了
[root@VM-4-16-centos ~]# docker ps -n5
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS                        PORTS     NAMES
ca1d8421f63d   ubuntu         "/bin/bash"   33 minutes ago   Exited (137) 12 minutes ago             myubuntu2
358345c971ac   ubuntu         "/bin/bash"   35 minutes ago   Up 15 minutes                           myubuntu1
47991bee2374   ubuntu         "/bin/bash"   54 minutes ago   Exited (0) 41 minutes ago               myUbuntu
162f4d8faa4b   feb5d9fea6a5   "/hello"      3 hours ago      Exited (0) 3 hours ago                  musing_shirley
4d6b5f5c2646   feb5d9fea6a5   "/hello"      7 hours ago      Exited (0) 7 hours ago                  zen_mcclintock
[root@VM-4-16-centos ~]# 

6. 启动后台运行的守护式容器

命令语法:docker run -d 镜像名称

[root@VM-4-16-centos ~]# docker run -d --name=myRedis redis:6.0.8 
e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED         STATUS         PORTS      NAMES
e140deede49a   redis:6.0.8   "docker-entrypoint.s…"   5 seconds ago   Up 4 seconds   6379/tcp   myRedis
358345c971ac   ubuntu        "/bin/bash"              16 hours ago    Up 15 hours               myubuntu1

Redis后台运行成功

7. 查看容器日志

命令语法:docker logs 容器ID

# 查看docker容器启动日志
[root@VM-4-16-centos ~]# docker logs e140deede49a
1:C 15 May 2022 01:22:42.714 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 15 May 2022 01:22:42.714 # Redis version=6.0.8, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 15 May 2022 01:22:42.714 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1:M 15 May 2022 01:22:42.715 * Running mode=standalone, port=6379.
1:M 15 May 2022 01:22:42.715 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1:M 15 May 2022 01:22:42.715 # Server initialized
1:M 15 May 2022 01:22:42.715 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1:M 15 May 2022 01:22:42.715 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo madvise > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled (set to 'madvise' or 'never').
1:M 15 May 2022 01:22:42.716 * Ready to accept connections

8. 查询容器的内部运行的进程

查询docker容器内部运行了哪些进程,命令语法:docker top 容器ID

[root@VM-4-16-centos ~]# docker top e140deede49a
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
polkitd             2964                2944                0                   09:22               ?                   00:00:00            redis-server *:6379

9. 查询容器内部细节

查询容器的内部细节信息,命令语法:docker inspect 容器ID

# 查询容器内部信息
[root@VM-4-16-centos ~]# docker inspect e140deede49a
[
    {
        "Id": "e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d",
        "Created": "2022-05-15T01:22:42.393102357Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "redis-server"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 2964,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2022-05-15T01:22:42.70136925Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:16ecd277293476392b71021cdd585c40ad68f4a7488752eede95928735e39df4",
        "ResolvConfPath": "/var/lib/docker/containers/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d/hostname",
        "HostsPath": "/var/lib/docker/containers/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d/hosts",
        "LogPath": "/var/lib/docker/containers/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d-json.log",
        "Name": "/myRedis",
        "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/c81e95ddc560ddc1980bb10fa9a74fa4da802e10e6f2da6244452e431a9d5aef-init/diff:/var/lib/docker/overlay2/987872a6c6e35ffc1954faa7c5a07225aad3db0decca0651f8d56d597876a239/diff:/var/lib/docker/overlay2/348b76f9b6aff0dbcdbc1ca98065567c8d9478ce29d56a3a035f7e06364a3aaf/diff:/var/lib/docker/overlay2/54373156d6f3599e09463e224d391311920bf6d9d8a273a961ef99e4d5080ebd/diff:/var/lib/docker/overlay2/cc7078baf75a32c41a6a7cf7c0a92833546e46e4a526d07a1e7100815358329a/diff:/var/lib/docker/overlay2/6095c743f92488480597267dae2076a8b6987876f660710365e86c4c0c1c1d52/diff:/var/lib/docker/overlay2/057aa98fc481c16b4d796f21e0d6385dee4d944f66d97c91b70ac8b338a8fe18/diff",
                "MergedDir": "/var/lib/docker/overlay2/c81e95ddc560ddc1980bb10fa9a74fa4da802e10e6f2da6244452e431a9d5aef/merged",
                "UpperDir": "/var/lib/docker/overlay2/c81e95ddc560ddc1980bb10fa9a74fa4da802e10e6f2da6244452e431a9d5aef/diff",
                "WorkDir": "/var/lib/docker/overlay2/c81e95ddc560ddc1980bb10fa9a74fa4da802e10e6f2da6244452e431a9d5aef/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "45689df532854ebb646a9168bcf15df09b1394ab425b8983cac06e5e8277b49a",
                "Source": "/var/lib/docker/volumes/45689df532854ebb646a9168bcf15df09b1394ab425b8983cac06e5e8277b49a/_data",
                "Destination": "/data",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "e140deede49a",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "6379/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.12",
                "REDIS_VERSION=6.0.8",
                "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.0.8.tar.gz",
                "REDIS_DOWNLOAD_SHA=04fa1fddc39bd1aecb6739dd5dd73858a3515b427acd1e2947a66dadce868d68"
            ],
            "Cmd": [
                "redis-server"
            ],
            "Image": "redis:6.0.8",
            "Volumes": {
                "/data": {}
            },
            "WorkingDir": "/data",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {}
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "ddcc3791022b15b72015f13242c58127ca014ab2450a0477542c34c0522aab74",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "6379/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/ddcc3791022b",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "b0399a863b18fa46edfd442a5e1863e92b6bd25a4343b3e3277f9cf93dc12b77",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.3",
            "IPPrefixLen": 16,
[root@VM-4-16-centos ~]# docker inspect e140deede49a
[
    {
        "Id": "e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d",
        "Created": "2022-05-15T01:22:42.393102357Z",
        "Path": "docker-entrypoint.sh",
        "Args": [
            "redis-server"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 2964,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2022-05-15T01:22:42.70136925Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:16ecd277293476392b71021cdd585c40ad68f4a7488752eede95928735e39df4",
        "ResolvConfPath": "/var/lib/docker/containers/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d/hostname",
        "HostsPath": "/var/lib/docker/containers/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d/hosts",
        "LogPath": "/var/lib/docker/containers/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d/e140deede49aec77b37c7c3466c1a96d32b40545491be4dfed7c5e928b2c7d5d-json.log",
        "Name": "/myRedis",
        "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/c81e95ddc560ddc1980bb10fa9a74fa4da802e10e6f2da6244452e431a9d5aef-init/diff:/var/lib/docker/overlay2/987872a6c6e35ffc1954faa7c5a07225aad3db0decca0651f8d56d597876a239/diff:/var/lib/docker/overlay2/348b76f9b6aff0dbcdbc1ca98065567c8d9478ce29d56a3a035f7e06364a3aaf/diff:/var/lib/docker/overlay2/54373156d6f3599e09463e224d391311920bf6d9d8a273a961ef99e4d5080ebd/diff:/var/lib/docker/overlay2/cc7078baf75a32c41a6a7cf7c0a92833546e46e4a526d07a1e7100815358329a/diff:/var/lib/docker/overlay2/6095c743f92488480597267dae2076a8b6987876f660710365e86c4c0c1c1d52/diff:/var/lib/docker/overlay2/057aa98fc481c16b4d796f21e0d6385dee4d944f66d97c91b70ac8b338a8fe18/diff",
                "MergedDir": "/var/lib/docker/overlay2/c81e95ddc560ddc1980bb10fa9a74fa4da802e10e6f2da6244452e431a9d5aef/merged",
                "UpperDir": "/var/lib/docker/overlay2/c81e95ddc560ddc1980bb10fa9a74fa4da802e10e6f2da6244452e431a9d5aef/diff",
                "WorkDir": "/var/lib/docker/overlay2/c81e95ddc560ddc1980bb10fa9a74fa4da802e10e6f2da6244452e431a9d5aef/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "volume",
                "Name": "45689df532854ebb646a9168bcf15df09b1394ab425b8983cac06e5e8277b49a",
                "Source": "/var/lib/docker/volumes/45689df532854ebb646a9168bcf15df09b1394ab425b8983cac06e5e8277b49a/_data",
                "Destination": "/data",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
        "Config": {
            "Hostname": "e140deede49a",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "6379/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.12",
                "REDIS_VERSION=6.0.8",
                "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-6.0.8.tar.gz",
                "REDIS_DOWNLOAD_SHA=04fa1fddc39bd1aecb6739dd5dd73858a3515b427acd1e2947a66dadce868d68"
            ],
            "Cmd": [
                "redis-server"
            ],
            "Image": "redis:6.0.8",
            "Volumes": {
                "/data": {}
            },
            "WorkingDir": "/data",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {}
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "ddcc3791022b15b72015f13242c58127ca014ab2450a0477542c34c0522aab74",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "6379/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/ddcc3791022b",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "b0399a863b18fa46edfd442a5e1863e92b6bd25a4343b3e3277f9cf93dc12b77",
            "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": "c84fb77238a08819accecb1cf4a456b63333aca31e4548d5dcbd417b935abca0",
                    "EndpointID": "b0399a863b18fa46edfd442a5e1863e92b6bd25a4343b3e3277f9cf93dc12b77",
                    "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
                }
            }
        }
    }
]

10. 进入正在运行的容器并以命令行交互(重点)

两种语法:

1. docker exec -it 容器ID bashShell[/bin/bash]

2. docker attach 容器ID

exec命令:

[root@VM-4-16-centos ~]# docker exec -it e140deede49a /bin/bash
root@e140deede49a:/data# exit
exit
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS      NAMES
e140deede49a   redis:6.0.8   "docker-entrypoint.s…"   28 minutes ago   Up 28 minutes   6379/tcp   myRedis

attach命令:

[root@VM-4-16-centos ~]# docker attach 358345c971ac
root@358345c971ac:/# exit
exit
[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS      NAMES
e140deede49a   redis:6.0.8   "docker-entrypoint.s…"   27 minutes ago   Up 27 minutes   6379/tcp   myRedis
[root@VM-4-16-centos ~]# 

两者命令效果上对比可知,exec命令进入容器后退出,容器还在运行。使用attach命令进入容器退出后,容器停止,推荐使用exec命令。

使用redis演示exec命令

[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS      NAMES
e140deede49a   redis:6.0.8   "docker-entrypoint.s…"   46 minutes ago   Up 46 minutes   6379/tcp   myRedis
[root@VM-4-16-centos ~]# docker exec -it e140deede49a /bin/bash
root@e140deede49a:/data# redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

正常情况下,我们都是使用 docker run -d --name=xxxx 镜像名称 /bin/bash 来创建一个后台运行的守护式容器,然后通过 docker exec -it 容器ID /bin/bash 来进入容器内部进行命令行交互。

11. 从容器内复制文件到主机上(宿主机)

语法命令:docker cp 容器ID:容器内路径 宿主机路径。 

# 拷贝文件
[root@VM-4-16-centos ~]# docker cp d1db2a8991a0:/tmp/test.txt /tmp/text.txt

# 进入查看
[root@VM-4-16-centos ~]# cd /tmp
[root@VM-4-16-centos tmp]# ls
cpuidle_support.log    nv_gpu_conf.log                                                       text.txt                      ydeye_install.log
cvm_init.log           setRps.log                                                            virtio_blk_affinity.log
net_affinity.log       stargate.lock                                                         virtio_blk_affinity_udev.log
nv_driver_install.log  systemd-private-d44a92764a4d472ca38fb0e6faf14ce8-ntpd.service-BgHfCV  yddaemon.log
[root@VM-4-16-centos tmp]# 

12. 导入导出容器(重点)

作用:用于备份

1. 导出命令:docker export 容器ID > 文件名.tar 

[root@VM-4-16-centos ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS          PORTS      NAMES
d1db2a8991a0   ubuntu        "/bin/bash"              16 minutes ago   Up 16 minutes              myubuntu4
e140deede49a   redis:6.0.8   "docker-entrypoint.s…"   2 hours ago      Up 2 hours      6379/tcp   myRedis

# 导出命令
[root@VM-4-16-centos ~]# docker export d1db2a8991a0 > ubuntu.tar
[root@VM-4-16-centos ~]# ls
CentOS-Base.repo  ubuntu.tar
[root@VM-4-16-centos ~]# 

2. 导入命令:cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号 镜像用户名可不写

# 导入宿主机的tar
[root@VM-4-16-centos ~]# cat ubuntu.tar | docker import - ubuntu:1.0.0

# 导入的images
[root@VM-4-16-centos ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ubuntu       1.0.0     d2c006db5a92   2 minutes ago   77.8MB
redis        latest    1ca2c2a1b554   3 days ago      117MB
ubuntu       latest    d2e4e1f51132   2 weeks ago     77.8MB
centos       7         eeb6ee3f44bd   8 months ago    204MB
redis        6.0.8     16ecd2772934   18 months ago   104MB

 结合上一篇的镜像命令和本文的容器命令,可以汇总为一张图,图是百度查的,觉得很形象,就借鉴了。

以上就是docker常用命令汇总了!!!

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值