• Docker的常用基础命令(详细讲解)


            首选需要大家搭建好Docker环境,没有环境的可以查看前面的详细讲解安装Docker引擎的文章(在CentOS上安装Docker引擎_征服bug的博客-CSDN博客

    首先是安装好Docker 引擎

    目录

    一,如何启动与停止引擎服务

    二,docker引擎安装校验与查看docker的详细信息

    三,Docker命令

    四,容器相关命令

    五,创建与启动容器

    六,停止与启动容器

    七,删除容器

    八,文件拷贝

    九,目录挂载(容器数据卷操作)

    十,查看容器 IP 地址


    一,如何启动与停止引擎服务

    1. #启动docker
    2. systemctl start docker
    3. #停止docker
    4. systemctl stop docker
    5. #重启docker
    6. systemctl restart docker
    7. #查看docker状态
    8. systemctl status docker

    二,docker引擎安装校验与查看docker的详细信息

    1. #查看docker概要信息
    2. docker info
    3. #查看docker帮助文档
    4. docker –help
    5. #安装校验
    6. docker -v             #docker的版本号
    7. docker version      #docker的详细信息

    配置镜像加速

            可以通过配置国内镜像源的方式,从国内获取镜像,提高拉取速度。这里介绍中国科学技术大学 (LUG@USTC)的开源镜像:https://docker.mirrors.ustc.edu.cn 和网易的开源镜像:http://hub-mir ror.c.163.com

    1.编辑文件 daemon.json

    1. mkdir -p /etc/docker
    2. vi /etc/docker/daemon.json

    2.在文件中输入以下内容并保存

    1. {
    2. "registry-mirrors": ["http://hub-mirror.c.163.com",
    3. "https://docker.mirrors.ustc.edu.cn"]
    4. }

    3.重新加载配置信息及重启 Docker 服务

    1. # 重新加载某个服务的配置文件
    2. systemctl daemon-reload
    3. # 重新启动
    4. docker sudo systemctl restart docker

    拉取hello-world镜像的流程

    docker run hello-world 命令执行流程图如下。

    三,Docker命令

    1.查看镜像

    1. [root@localhost ~]# systemctl start docker
    2. [root@localhost ~]# docker images
    3. REPOSITORY TAG IMAGE ID CREATED SIZE
    4. mysql 5.7 eef0fab001e8 3 weeks ago 495MB
    5. hello-world latest feb5d9fea6a5 14 months ago 13.3kB
    6. centos 7 eeb6ee3f44bd 14 months ago 204MB

    REPOSITORY :镜像在仓库中的名称,本文中以后都简称镜像名称

    TAG :镜像标签

    IMAGE ID :镜像

    ID CREATED :镜像的创建日期(不是获取该镜像的日期)

    SIZE :镜像大小   

    注:这些镜像都是存储在 Docker 宿主机的 /var/lib/docker 目录下。

    2.搜索镜像

    如果你需要从网络中查找需要的镜像,可以通过以下命令搜索。

    格式:docker search 镜像名称

    1. [root@localhost ~]# docker search mysql
    2. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
    3. mysql MySQL is a widely used, open-source relation… 13533 [OK]
    4. mariadb MariaDB Server is a high performing open sou… 5163 [OK]
    5. phpmyadmin phpMyAdmin - A web interface for MySQL and M… 699 [OK]
    6. percona Percona Server is a fork of the MySQL relati… 595 [OK]
    7. bitnami/mysql Bitnami MySQL Docker Image 79 [OK]
    8. databack/mysql-backup Back up mysql databases to... anywhere! 76
    9. linuxserver/mysql-workbench 45
    10. ubuntu/mysql MySQL open source fast, stable, multi-thread… 38
    11. linuxserver/mysql A Mysql container, brought to you by LinuxSe… 38
    12. circleci/mysql MySQL is a widely used, open-source relation… 28
    13. google/mysql MySQL server for Google Compute Engine 22 [OK]
    14. rapidfort/mysql RapidFort optimized, hardened image for MySQL 13
    15. bitnami/mysqld-exporter 4
    16. ibmcom/mysql-s390x Docker image for mysql-s390x 2
    17. vitess/mysqlctld vitess/mysqlctld 1 [OK]
    18. newrelic/mysql-plugin New Relic Plugin for monitoring MySQL databa… 1 [OK]
    19. hashicorp/mysql-portworx-demo 0
    20. rapidfort/mysql-official RapidFort optimized, hardened image for MySQ… 0
    21. docksal/mysql MySQL service images for Docksal - https://d… 0
    22. mirantis/mysql 0
    23. rapidfort/mysql8-ib RapidFort optimized, hardened image for MySQ… 0
    24. cimg/mysql 0
    25. drud/mysql 0
    26. silintl/mysql-backup-restore Simple docker image to perform mysql backups… 0 [OK]
    27. corpusops/mysql https://github.com/corpusops/docker-images/ 0

    NAME :镜像名称

    DESCRIPTION :镜像描述

    STARS :用户评价,反应一个镜像的受欢迎程度

    OFFICIAL :是否为官方构建

    AUTOMATED :自动构建,表示该镜像由

    Docker Hub 自动构建流程创建的。

    3.拉取镜像

    拉取镜像就是从中央仓库下载镜像到本地。

    格式:docker pull 镜像名称

    通过查看 tag 信息,如果我们要下载 centos8的镜像。

    1. [root@localhost ~]# docker pull centos:8
    2. 8: Pulling from library/centos
    3. a1d0c7532777: Pull complete
    4. Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
    5. Status: Downloaded newer image for centos:8
    6. docker.io/library/centos:8

    4.删除镜像

    # 删除单个镜像

    docker rmi 镜像ID

    # 删除多个镜像

    docker rmi 镜像ID 镜像ID 镜像ID

    注:docker images -q 可以查询到所有镜像的 ID,通过组合命令可以实现删除所有镜像的操作。

    docker rmi `docker images -q`

    注意:如果通过某个镜像创建了容器,则该镜像无法删除。

    解决办法:先删除镜像中的容器,再删除该镜像。

    四,容器相关命令

    1.查看容器

    查看正在运行的容器。

    1. [root@localhost ~]# docker ps
    2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

    字段说明:

    CONTAINER ID :容器 ID

    IMAGE :所属镜像

    COMMAND :

    CREATED :创建时间

    STATUS :容器状态

    PORTS :端口

    NAMES :容器名称

    2.查看停止的容器

    docker ps -f status=exited

    3.查看所有容器(包括运行和停止)。

    docker ps -a

    4.查看容器的ID

    docker ps -q

    5.查看最后一次运行的容器。

    docker ps -l

    6.列出最近创建的 n 个容器。

    docker ps -n 5

    7.查看docker内容器的运行状态

    docker stats

    五,创建与启动容器

    格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

    1. 选项:
    2. -i :表示运行容器;
    3. -t :表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪 终端;
    4. --name :为创建的容器命名;
    5. -v :表示目录映射关系(前者是宿主机目录,后者是映射到容器上的目录),可以使用多个 -v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上;
    6. -d :在 run 后面加上 -d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登 录容器,如果只加 -i -t 两个参数,创建容器后就会自动进容器里);
    7. -p :表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口 映射。
    8. -P :随机使用宿主机的可用端口与容器内暴露的端口映射。

    1.创建并进入容器

    下面这行命令的意思就是通过镜像 AA 创建一个容器 BB,运行容器并进入容器的 /bin/bash 。

    格式:docker run -it --name 容器名称 镜像名称:标签 /bin/bash

    1. [root@localhost ~]# docker images
    2. REPOSITORY TAG IMAGE ID CREATED SIZE
    3. mysql 5.7 eef0fab001e8 3 weeks ago 495MB
    4. centos 7 eeb6ee3f44bd 14 months ago 204MB
    5. centos 8 5d0da3dc9764 14 months ago 231MB
    6. [root@localhost ~]# docker run -it --name centos7 centos:7 /bin/bash

    注意:Docker 容器运行必须有一个前台进程, 如果没有前台进程执行,容器认为是空闲状态,就 会自动退出。

    退出当前容器:exit

    2.守护式方式创建容器

    格式:docker run -di --name 容器名称 镜像名称:标签或镜像ID号

    1. [root@localhost ~]# docker run -id --name centos7-3 eeb6ee3f44bd /bin/bash
    2. f2e90a5827ee64ad150ab95d3fe74a91dc3d355424243ae4e33a72f898353c69

    3.登录守护式容器方式

    格式:docker exec -it 容器名称|容器ID /bin/bash

    1. [root@localhost ~]# docker ps
    2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    3. f2e90a5827ee eeb6ee3f44bd "/bin/bash" About a minute ago Up About a minute centos7-3
    4. [root@localhost ~]# docker exec -it centos7-3 /bin/bash
    5. [root@f2e90a5827ee /]#

    六,停止与启动容器

    1.停止容器

    格式:docker stop 容器名称|容器ID

    2.启动容器

    格式:docker start 容器名称|容器ID

    3.重启容器

    格式:docker restart 容器名称|容器ID

    4.停止容器

    格式:docker kill 容器名称|容器ID

    七,删除容器

    1.删除指定容器

    格式:docker rm 容器名称|容器ID

    2.删除多个容器

    格式:docker rm 容器名称|容器ID 容器名称|容器ID

    八,文件拷贝

    如果我们需要将文件拷贝到容器内可以使用 cp 命令。

    格式:docker cp 需要拷贝的文件或目录 容器名称:容器目录

    1. [root@localhost ~]# docker ps
    2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    3. f2e90a5827ee eeb6ee3f44bd "/bin/bash" 5 minutes ago Up 5 minutes centos7-3
    4. [root@localhost ~]# docker cp /root/1.sql centos7-3:/root
    5. [root@localhost ~]# docker exec -it centos7-3 /bin/bash
    6. [root@f2e90a5827ee /]# ls /root/
    7. 1.sql anaconda-ks.cfg

    也可以将文件从容器内拷贝出来(命令在宿主机中使用)。

    格式:docker cp 容器名称:容器目录 需要拷贝的文件或目录

    1. [root@f2e90a5827ee /]# touch /root/test.txt
    2. [root@f2e90a5827ee /]# exit
    3. exit
    4. [root@localhost ~]# docker cp centos7-3:/root/test.txt /tmp/
    5. [root@localhost ~]# ls /tmp/
    6. test.txt

    九,目录挂载(容器数据卷操作)

    创建容器添加 -v 参数,格式为 宿主机目录:容器目录 

    例如:

    1. [root@localhost ~]# ls
    2. 1.sql all-mysql.sql file1 ip_yes.txt nginx school2022-11-15 userinfo.txt
    3. 1.txt anaconda-ks.cfg fornum.sh mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz num.txt sh.bzip2.tar UserSystem.sh
    4. 2022-10-21all.sql cut_nginx_log.sh info.txt mysqldata original-ks.cfg test
    5. a1-mysql.sql etc.tar.zip install.cfg mysqldata2022-08-15.sql passwd test.txt
    6. [root@localhost ~]# docker run -it -v /root/:/root/ --name centos7-4 centos:7
    7. [root@5edc752038e0 /]# ls /root
    8. 1.sql all-mysql.sql fornum.sh mysqldata passwd userinfo.txt
    9. 1.txt anaconda-ks.cfg info.txt mysqldata2022-08-15.sql school2022-11-15
    10. 2022-10-21all.sql cut_nginx_log.sh install.cfg nginx sh.bzip2.tar
    11. UserSystem.sh etc.tar.zip ip_yes.txt num.txt test
    12. a1-mysql.sql file1 mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz original-ks.cfg test.txt

    # 多目录挂载

    docker run -di -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名

    1.匿名挂载

    匿名挂载只需要写容器目录即可,容器外对应的目录会在 /var/lib/docker/volumes 中生成。

    # 匿名挂载

    1. [root@localhost ~]# docker run -di -v /root/ --name centos7-5 centos:7
    2. 98b42386e4181ba46a85173740e97c47111e755c19f6716dcd72561e5d24cd3d

    # 查看 volume 数据卷信息

    1. [root@localhost ~]# docker volume ls
    2. DRIVER VOLUME NAME
    3. local 7c342abc52d25a5f2e221fb58e01303dcb08761543e5e9c251967263c6c60d58
    4. local 20777204e22f6797a4a333525769460941d0e76c78020cadafe2bb88a2db6447
    5. local cb89c1bfd7e7b237cdd9256e773d387d45b70a1a7dc74ee12708790aa0f2f200
    6. local docker_centos_data

    2.具名挂载

    具名挂载就是给数据卷起了个名字,容器外对应的目录会在 /var/lib/docker/volume 中生成。

    # 具名挂载

    1. [root@localhost ~]# docker run -di -v centos7-6-root:/root/ --name centos-6 centos:7
    2. 47411c26febf3237a56312e68046fb66e411d17bd9a42d8b90c85fe18b3577c2

    # 查看 volume 数据卷信息

    1. [root@localhost ~]# docker volume ls
    2. DRIVER VOLUME NAME
    3. local 7c342abc52d25a5f2e221fb58e01303dcb08761543e5e9c251967263c6c60d58
    4. local 20777204e22f6797a4a333525769460941d0e76c78020cadafe2bb88a2db6447
    5. local cb89c1bfd7e7b237cdd9256e773d387d45b70a1a7dc74ee12708790aa0f2f200
    6. local centos7-6-root
    7. local docker_centos_data

    3.指定目录挂载

            一开始给大家讲解的挂载方式就属于指定目录挂载,这种方式的挂载不会在 /var/lib/docker/volume 目录生成内容。

    格式:docker run -di -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名

    4.查看目录挂载关系

    通过 docker volume inspect 数据卷名称 可以查看该数据卷对应宿主机的目录地址。

    1. [root@localhost ~]# docker volume inspect centos7-6-root
    2. [
    3. {
    4. "CreatedAt": "2022-11-30T06:55:40Z",
    5. "Driver": "local",
    6. "Labels": null,
    7. "Mountpoint": "/var/lib/docker/volumes/centos7-6-root/_data",
    8. "Name": "centos7-6-root",
    9. "Options": null,
    10. "Scope": "local"
    11. }
    12. ]

            通过 docker inspect 容器ID或名称 ,在返回的 JSON 节点中找到 Mounts ,可以查看详细的数据 挂载信息。

    5.只读/读写挂载

    # 只读。只能通过修改宿主机内容实现对容器的数据管理。

    格式:docker run -it -v /宿主机目录:/容器目录:ro 镜像名

    1. [root@localhost ~]# docker run -it -v /root/:/root:ro centos:7
    2. [root@f3dad8bf6874 /]# ls /root
    3. 1.sql a1-mysql.sql etc.tar.zip install.cfg mysqldata2022-08-15.sql passwd test.txt
    4. 1.txt all-mysql.sql file1 ip_yes.txt nginx school2022-11-15 userinfo.txt
    5. 2022-10-21all.sql anaconda-ks.cfg fornum.sh mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz num.txt sh.bzip2.tar
    6. UserSystem.sh cut_nginx_log.sh info.txt mysqldata original-ks.cfg test
    7. [root@f3dad8bf6874 /]# echo 233 > /root/1.sql
    8. bash: /root/1.sql: Read-only file system

    # 读写,默认。宿主机和容器可以双向操作数据。

    格式:docker run -it -v /宿主机目录:/容器目录:rw 镜像名

    6.volumes-from(继承)

    # 容器 centos7-01 指定目录挂载

    docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7

    # 容器 centos7-04 和 centos7-05 相当于继承 centos7-01 容器的挂载目录

    1. docker run -di --volumes-from centos7-01:ro --name centos7-04 centos:7
    2. docker run -di --volumes-from centos7-01:rw --name centos7-05 centos:7

    十,查看容器 IP 地址

    我们可以通过以下命令查看容器的元信息。

    格式:docker inspect 容器名称|容器ID

    1. [root@localhost ~]# docker inspect centos7-2
    2. [
    3. {
    4. "Id": "cab1b43029bb4e68058971d06e62e67fcc3d3df49cdd9a2c285ca332bbb5d003",
    5. "Created": "2022-11-30T06:29:54.080391503Z",
    6. "Path": "/bin/bash",
    7. "Args": [],
    8. "State": {
    9. "Status": "exited",
    10. "Running": false,
    11. "Paused": false,
    12. "Restarting": false,
    13. "OOMKilled": false,
    14. "Dead": false,
    15. "Pid": 0,
    16. "ExitCode": 127,
    17. "Error": "",
    18. "StartedAt": "2022-11-30T06:29:54.237043945Z",
    19. "FinishedAt": "2022-11-30T06:30:06.600353835Z"
    20. },
    21. "Image": "sha256:eeb6ee3f44bd0b5103bb561b4c16bcb82328cfe5809ab675bb17ab3a16c517c9",
    22. "ResolvConfPath": "/var/lib/docker/containers/cab1b43029bb4e68058971d06e62e67fcc3d3df49cdd9a2c285ca332bbb5d003/resolv.conf",
    23. "HostnamePath": "/var/lib/docker/containers/cab1b43029bb4e68058971d06e62e67fcc3d3df49cdd9a2c285ca332bbb5d003/hostname",
    24. "HostsPath": "/var/lib/docker/containers/cab1b43029bb4e68058971d06e62e67fcc3d3df49cdd9a2c285ca332bbb5d003/hosts",
    25. "LogPath": "/var/lib/docker/containers/cab1b43029bb4e68058971d06e62e67fcc3d3df49cdd9a2c285ca332bbb5d003/cab1b43029bb4e68058971d06e62e67fcc3d3df49cdd9a2c285ca332bbb5d003-json.log",
    26. "Name": "/centos7-2",
    27. "RestartCount": 0,
    28. "Driver": "overlay2",
    29. "Platform": "linux",
    30. "MountLabel": "",
    31. "ProcessLabel": "",
    32. "AppArmorProfile": "",
    33. "ExecIDs": null,
    34. "HostConfig": {
    35. "Binds": null,
    36. "ContainerIDFile": "",
    37. "LogConfig": {
    38. "Type": "json-file",
    39. "Config": {}
    40. },
    41. "NetworkMode": "default",
    42. "PortBindings": {},
    43. "RestartPolicy": {
    44. "Name": "no",
    45. "MaximumRetryCount": 0
    46. },
    47. "AutoRemove": false,
    48. "VolumeDriver": "",
    49. "VolumesFrom": null,
    50. "CapAdd": null,
    51. "CapDrop": null,
    52. "CgroupnsMode": "host",
    53. "Dns": [],
    54. "DnsOptions": [],
    55. "DnsSearch": [],
    56. "ExtraHosts": null,
    57. "GroupAdd": null,
    58. "IpcMode": "private",
    59. "Cgroup": "",
    60. "Links": null,
    61. "OomScoreAdj": 0,
    62. "PidMode": "",
    63. "Privileged": false,
    64. "PublishAllPorts": false,
    65. "ReadonlyRootfs": false,
    66. "SecurityOpt": null,
    67. "UTSMode": "",
    68. "UsernsMode": "",
    69. "ShmSize": 67108864,
    70. "Runtime": "runc",
    71. "ConsoleSize": [
    72. 0,
    73. 0
    74. ],
    75. "Isolation": "",
    76. "CpuShares": 0,
    77. "Memory": 0,
    78. "NanoCpus": 0,
    79. "CgroupParent": "",
    80. "BlkioWeight": 0,
    81. "BlkioWeightDevice": [],
    82. "BlkioDeviceReadBps": null,
    83. "BlkioDeviceWriteBps": null,
    84. "BlkioDeviceReadIOps": null,
    85. "BlkioDeviceWriteIOps": null,
    86. "CpuPeriod": 0,
    87. "CpuQuota": 0,
    88. "CpuRealtimePeriod": 0,
    89. "CpuRealtimeRuntime": 0,
    90. "CpusetCpus": "",
    91. "CpusetMems": "",
    92. "Devices": [],
    93. "DeviceCgroupRules": null,
    94. "DeviceRequests": null,
    95. "KernelMemory": 0,
    96. "KernelMemoryTCP": 0,
    97. "MemoryReservation": 0,
    98. "MemorySwap": 0,
    99. "MemorySwappiness": null,
    100. "OomKillDisable": false,
    101. "PidsLimit": null,
    102. "Ulimits": null,
    103. "CpuCount": 0,
    104. "CpuPercent": 0,
    105. "IOMaximumIOps": 0,
    106. "IOMaximumBandwidth": 0,
    107. "MaskedPaths": [
    108. "/proc/asound",
    109. "/proc/acpi",
    110. "/proc/kcore",
    111. "/proc/keys",
    112. "/proc/latency_stats",
    113. "/proc/timer_list",
    114. "/proc/timer_stats",
    115. "/proc/sched_debug",
    116. "/proc/scsi",
    117. "/sys/firmware"
    118. ],
    119. "ReadonlyPaths": [
    120. "/proc/bus",
    121. "/proc/fs",
    122. "/proc/irq",
    123. "/proc/sys",
    124. "/proc/sysrq-trigger"
    125. ]
    126. },
    127. "GraphDriver": {
    128. "Data": {
    129. "LowerDir": "/var/lib/docker/overlay2/63a8e3e1f155f38a51bebce3b9a233b2bff1ba4630e5993276a0d3cce0dbc61f-init/diff:/var/lib/docker/overlay2/9b62e8d0a4882ca9b207fae4a54e220a00f5556d52f0fa8ad933e3863763b43b/diff",
    130. "MergedDir": "/var/lib/docker/overlay2/63a8e3e1f155f38a51bebce3b9a233b2bff1ba4630e5993276a0d3cce0dbc61f/merged",
    131. "UpperDir": "/var/lib/docker/overlay2/63a8e3e1f155f38a51bebce3b9a233b2bff1ba4630e5993276a0d3cce0dbc61f/diff",
    132. "WorkDir": "/var/lib/docker/overlay2/63a8e3e1f155f38a51bebce3b9a233b2bff1ba4630e5993276a0d3cce0dbc61f/work"
    133. },
    134. "Name": "overlay2"
    135. },
    136. "Mounts": [],
    137. "Config": {
    138. "Hostname": "cab1b43029bb",
    139. "Domainname": "",
    140. "User": "",
    141. "AttachStdin": true,
    142. "AttachStdout": true,
    143. "AttachStderr": true,
    144. "Tty": true,
    145. "OpenStdin": true,
    146. "StdinOnce": true,
    147. "Env": [
    148. "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    149. ],
    150. "Cmd": [
    151. "/bin/bash"
    152. ],
    153. "Image": "eeb6ee3f44bd",
    154. "Volumes": null,
    155. "WorkingDir": "",
    156. "Entrypoint": null,
    157. "OnBuild": null,
    158. "Labels": {
    159. "org.label-schema.build-date": "20201113",
    160. "org.label-schema.license": "GPLv2",
    161. "org.label-schema.name": "CentOS Base Image",
    162. "org.label-schema.schema-version": "1.0",
    163. "org.label-schema.vendor": "CentOS",
    164. "org.opencontainers.image.created": "2020-11-13 00:00:00+00:00",
    165. "org.opencontainers.image.licenses": "GPL-2.0-only",
    166. "org.opencontainers.image.title": "CentOS Base Image",
    167. "org.opencontainers.image.vendor": "CentOS"
    168. }
    169. },
    170. "NetworkSettings": {
    171. "Bridge": "",
    172. "SandboxID": "4faf35abf5f60d628fc545b1472f0b86dcad768bdc869406a7a2e9288be77df2",
    173. "HairpinMode": false,
    174. "LinkLocalIPv6Address": "",
    175. "LinkLocalIPv6PrefixLen": 0,
    176. "Ports": {},
    177. "SandboxKey": "/var/run/docker/netns/4faf35abf5f6",
    178. "SecondaryIPAddresses": null,
    179. "SecondaryIPv6Addresses": null,
    180. "EndpointID": "",
    181. "Gateway": "",
    182. "GlobalIPv6Address": "",
    183. "GlobalIPv6PrefixLen": 0,
    184. "IPAddress": "",
    185. "IPPrefixLen": 0,
    186. "IPv6Gateway": "",
    187. "MacAddress": "",
    188. "Networks": {
    189. "bridge": {
    190. "IPAMConfig": null,
    191. "Links": null,
    192. "Aliases": null,
    193. "NetworkID": "c9406d1cb33e3be61d308ad252c3114db3f70de5adb27fb750679f42800c0b31",
    194. "EndpointID": "",
    195. "Gateway": "",
    196. "IPAddress": "",
    197. "IPPrefixLen": 0,
    198. "IPv6Gateway": "",
    199. "GlobalIPv6Address": "",
    200. "GlobalIPv6PrefixLen": 0,
    201. "MacAddress": "",
    202. "DriverOpts": null
    203. }
    204. }
    205. }
    206. }
    207. ]

    也可以直接执行下面的命令直接输出 IP 地址。

    格式:docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称|容器ID

    1. [root@localhost ~]# docker inspect --format='{{.NetworkSettings.IPAddress}}' centos7-3
    2. 172.17.0.2

    感谢大家的支持,如果喜欢可以给博主点一个关注,后续还会更新Docker方面的知识拓展

  • 相关阅读:
    进程中的权限是如何操作的
    【C#】复杂Json的反序列
    操作符 | MATLAB
    强化学习------DQN算法
    CCF编程能力等级认证GESP—C++3级—样题1
    HarmonyOS hsp制作与引用
    springboot 整合rabbitMq保证消息一致性方案
    Spring Boot自定义注解+AOP,使用guava的RateLimiter实现接口的限流
    【Conda】解决无名虚拟环境问题
    【从零开始的Java开发】1-4-1 Java继承:Object类、final关键字、注解
  • 原文地址:https://blog.csdn.net/weixin_53678904/article/details/128104914