Docker常用操作和命令

文章目录

1、卸载旧版本

2、yum安装Docker CE(社区版)

3、添加镜像加速器

4、docker --version 查看docker版本

5、docker info 或 docker system info 显示 Docker 系统的详细信息,包括容器、镜像、网络等

6、docker search 搜索镜像

7、docker pull 拉取镜像

8、docker images 或 docker image ls 列出已经下载并存储到本地的所有镜像

9、docker image rm 或 docker rmi 删除本地镜像

10、结合docker image ls -q 批量删除镜像

11、docker run 运行容器

12、docker ps 或 docker container ls 列出容器

13、docker stop 或 docker container stop 停止容器

14、docker restart 或 docker container restart 重启容器

15、docker start 或 docker container start 启动容器

16、docker rm 或 docker container rm 删除容器

17、docker exec 进行运行的容器进行交互操作

18、docker logs 查看容器运行日志

19、docker export 导出容器快照

20、docker import 导入 tar 镜像文件 / 容器快照为本地镜像

21、docker save 保存本地镜像为tar镜像文件

22、docker load 加载 tar 镜像文件为本地镜像

23、docker save / load 与 export / import 对比分析

24、docker image prune 清理none镜像(虚悬镜像:没被标记且没被其它任何镜像引用的镜像)

25、docker container prune 清理停止状态的容器

26、docker volume prune 清理无容器使用的卷

27、docker network prune 清理没有被容器未使用的网络

28、docker system prune 清理所有没有使用的数据

29、设置定时清理docker数据

30、docker system df 查看Docker整体磁盘使用率的概况

31、docker build 从指定的 Dockerfile 构建镜像

32、docker commit 从一个容器的更改创建一个新的镜像

33、docker network ls 列出所有 Docker 网络

34、docker network create 创建一个新的 Docker 网络

35、docker network connect 连接一个容器到一个网络

36、docker network disconnect 断开一个容器与一个网络的连接

37、docker network inspect 查看容器网络IP的占用情况

38、docker inspect my-container | grep IPAddress 查看容器的ip地址

39、docker volume ls 列出所有 Docker 数据卷

40、docker volume create 创建一个新的数据卷

41、docker volume rm 删除数据卷

42、docker tag 给镜像打标签

43、docker push 推送镜像

44、docker inspect 以json格式查看容器、镜像、网络和卷等对象的详细信息

45、docker cp :用于容器与本地主机之间的数据拷贝。


1、卸载旧版本

# 旧版本的Docker称为 docker 或 docker-engine,使用以下命令卸载:
[root@localhost ~]# sudo yum remove docker docker-common docker-selinux docker-engine

2、yum安装Docker CE(社区版)

# step 1: 安装必要的一些系统工具
[root@localhost ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# Step 2: 添加软件源信息
[root@localhost ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3: 更新并安装 Docker-CE
[root@localhost ~]# sudo yum makecache fast
[root@localhost ~]# sudo yum -y install docker-ce

# Step 4: 开启Docker服务
[root@localhost ~]# sudo systemctl enable docker
[root@localhost ~]# sudo systemctl start docker

注意:
官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。

#将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
[root@localhost ~]# sudo vi /etc/yum.repos.d/docker-ce.repo

......

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/8/$basearch/test
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

......

安装指定版本的Docker-CE:

# Step 1: 查找Docker-CE的版本:
[root@localhost ~]# yum list docker-ce.x86_64 --showduplicates | sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: branch, fastestmirror, langpacks
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
Available Packages

# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
[root@localhost ~]# sudo yum -y install docker-ce-[VERSION]

3、添加镜像加速器

国内从Docker Hub上拉取镜像有时会遇到困难,此时可以配置镜像加速器。很多云服务商都提供了加速器服务,如:
阿里云提供的加速器:https://cr.console.aliyun.com/#/accelerator
DaoCloud提供的加速器:https://www.daocloud.io/mirror#accelerator-doc

方法一:

##修改daemon.json配置文件
[root@localhost ~]# cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn"
        ],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

##重启docker
[root@localhost ~]# sudo systemctl restart docker

方法二:

# step 1: 登录 https://cr.console.aliyun.com/#/accelerator

# Step 2: 复制"您的专属加速器地址"对应的URL

# Step 3: 新建目录
[root@localhost ~]# sudo mkdir -p /etc/docker

# Step 4: 新建文件
[root@localhost ~]# sudo vi /etc/docker/daemon.json
{
   "registry-mirrors":["您的专属加速器地址对应的URL"]
}

# Step 5: 加载daemon.json文件
[root@localhost ~]# sudo systemctl daemon-reload

# Step 6: 重启docker
[root@localhost ~]# sudo systemctl restart docker

方法三:

# step 1: 登录 https://cr.console.aliyun.com/#/accelerator

# Step 2: 复制"您的专属加速器地址"对应的URL

# Step 3: [root@localhost ~]# vi /etc/sysconfig/docker,修改 OPTIONS 的值为:
OPTIONS='--selinux-enabled --log-driver=journald --registry-mirror=您的专属加速器地址对应的URL'

# Step 4: 重启docker
[root@localhost ~]# sudo systemctl restart docker

4、docker --version 查看docker版本

[root@localhost ~]# docker --version

5、docker info 或 docker system info 显示 Docker 系统的详细信息,包括容器、镜像、网络等

[root@localhost ~]# docker info

[root@localhost ~]# docker system info

6、docker search 搜索镜像

Docker Hub(https://hub.docker.com/explore/)或Docker Store(https://store.docker.com/)上有大量高质量的镜像可用,可用 docker search命令搜索镜像。

命令格式如下:

docker search [选项] 关键字   

选项说明:
  -f, --filter filter              基于条件过滤结果
      --format string         使用Go模板格式化搜索结果
      --limit int                 最多显示多少个搜索结果 (默认是25)
      --no-trunc               Don't truncate output

示例:

搜索结果将返回:用户名(缺省值是library)/仓库名、描述、收藏数(表示该镜像的受关注程度)、是否官方创建。

镜像资源分为两类:

  • 一类是ubuntu这样的镜像,往往使用单个单词作为名字,被称为基础镜像或根镜像。
  • 另一类,如 tutum/ubuntu 镜像,由Docker的用户创建并维护的,往往带有用户名称前缀。

7、docker pull 拉取镜像

命令格式如下:

docker pull [选项] 仓库名[:标签|@摘要]   

注意:
1) 如果不给出用户名前缀,则默认是 library,即官方镜像。
2) 选项说明: 
      -a, --all-tags            拉取仓库中的所有镜像(Name后不要跟标签或摘要)
      --disable-content-trust   忽略镜像的校验,默认开启校验
3) 仓库名:镜像是分标签(版本)放在指定的镜像仓库中的,比如,ubuntu镜像仓库中,可以有16.04、14.04、latest等很多不同标签(版本)的镜像。
4) 镜像名:由 仓库名:标签 组成

示例:

上面命令没给出镜像仓库地址,将从Docker Hub获取;没有给出用户名,将拉取官方镜像 library/ubuntu仓库中标签为16.04的镜像。

从下载过程可见,镜像是由多层存储所构成,每一层是在前一层的基础上进行的修改。
下载也是一层一层地下载,并非单一文件。
下载过程中给出了每一层的ID的前12位,下载完成后,给出镜像完整的sha256摘要,确保下载一致性。

8、docker images 或 docker image ls 列出已经下载并存储到本地的所有镜像

命令格式如下:

docker image ls [选项] [仓库名[:标签]] 

或 

docker images [选项] [仓库名[:标签]]

选项说明:
  -a, --all                     显示所有镜像 (默认会隐藏中间层镜像)
      --digests              显示摘要
  -f, --filter filter           基于条件过滤
      --format string      使用Go模板格式化显示结果
      --no-trunc             Don't truncate output
  -q, --quiet                 只显示镜像的ID

示例:

1) 列表包含了仓库名、标签(版本)、镜像ID、镜像在Docker Hub上的创建时间、镜像在本地展开后所占用的空间。
2) 镜像ID是镜像的唯一标识。一个镜像可以对应多个标签,比如列表中 ubuntu:16.04 和 ubuntu:latest 拥有相同的镜像ID,所以,他们是同一个镜像。
3) 镜像在本地磁盘展开后所占用的空间,和Docker Hub上显示的大小不一样,Docker Hub上显示的是压缩后的大小。
4) 上面列表中,各个镜像体积的总和并非是所有镜像的实际硬盘消耗,由于Docker镜像是多层存储结构,可以继承、复用,因此不同镜像可能会因为使用相同的基础镜像,从而拥有共同的层。而Docker使用Union FS,相同的层只需保存一份即可。因此,实际镜像的硬盘占用空间比上面列表中镜像大小的总和要小得多。
5) 虚悬镜像:仓库名和标签都是 <none> 的镜像,如上面列表的第四个镜像。这是由于官方镜像维护,当发布新版本后,重新 docker pull 时,原有的镜像名被转移到新下载的镜像上,而旧的镜像上的名称则被取消造成的。docker pull 和 docker build 都可能导致这种现象。虚悬镜像已经失去了存在的价值,可以通过命令 docker image prune 随意删除。
6) 中间层镜像:是一些无标签的镜像,是其他镜像所依赖的镜像,不应该删除,否则会导致其他镜像依赖丢失而出错。docker image ls 或docker images 只会显示顶层镜像,如果要显示包括中间层镜像在内的所有镜像,必须使用命令 docker image ls -a 或 docker images -a
7) 列出指定仓库下的所有镜像

8) 列出指定的镜像,即指定仓库名和标签

9) 使用过滤器参数 --filter 或 -f

10) 列出所有顶层镜像的摘要

11) 列出所有镜像的镜像ID,使用 -q 参数

12) 结合Go的模板用法

9、docker image rm 或 docker rmi 删除本地镜像

命令格式如下:

docker image rm [选项] 镜像1 [镜像2...]

docker rmi [选项] 镜像1 [镜像2...]

选项说明:
  -f, --force             强制删除镜像
      --no-prune       Do not delete untagged parents

1) 上面的镜像1、镜像2 ... 可以是 镜像ID、镜像名或镜像摘要。
2) 对于docker image ls 或 docker images 列出的镜像ID,一般取前3个字符以上,只要能区分于别的镜像,就可以作为删除的参数了,如:

docker image rm f75

3) 镜像名,即 仓库名:标签 的组合,如:

docker image rm ubuntu:14.04

如果本地只有一个ubuntu镜像,也可以只要仓库名,如:

docker image rm ubuntu

4) 镜像摘要,可以通过 docker image ls --digests 获取,删除时:

docker image rm ubuntu@sha256:e348fbbea0e0a0e73ab0370de151e7800684445c509d46195aef73e090a49bd6

示例:

注意:
1) 删除行为分两类,一类是untagged,删除/取消某个标签;另一类是deleted,删除镜像的各层,即,物理删除。
2) 当镜像的某层被其他镜像依赖时,或基于这个镜像启动的容器存在(即使容器没有运行),镜像的deleted行为将不会执行。
3) 删除镜像前,应先删除依赖该镜像启动的容器,再删除该镜像。

10、结合docker image ls -q 批量删除镜像

删除所有仓库名为 redis 的镜像

$ docker image rm $(docker image ls -q redis)

$ docker rmi $(docker image ls -q redis)

删除所有在 mongo:3.2 之前的镜像

$ docker image rm $(docker image ls -q -f before=mongo:3.2)

$ docker rmi $(docker image ls -q -f before=mongo:3.2)

11、docker run 运行容器

命令格式如下:

docker run [选项] 镜像名

选项说明:

  • -it:交互式终端模式。
  • -d:后台运行容器。
  • --name:为容器指定名称。
  • -e:配置环境变量
  • -p:映射主机端口到容器端口。
  • --network:配置网络模式,不配置时,默认使用bridge桥接模式,详见:Docker网络模式
  • --restart=always:配置容器开机自动启动
  • -v:挂载本地存储的文件或目录
  • -m:设置容器使用内存最大值,详见:基于Docker和Keepalived搭建MySQL8.0.30主主复制集群 第十小节
  • --cpuset:绑定容器到指定CPU运行,  详见:基于Docker和Keepalived搭建MySQL8.0.30主主复制集群 第十小节
  • --cpus:限制容器运行的CPU核数,可以使用小数,详见:基于Docker和Keepalived搭建MySQL8.0.30主主复制集群 第十小节
  • --memory-swap:设置内存+swap的使用限额, 详见:基于Docker和Keepalived搭建MySQL8.0.30主主复制集群 第十小节
  • --privileged=true:给容器开启所有的功能和特权,慎重配置该选项,因为可能有安全隐患

示例:

docker run --name mongo -p 27017:27017 -v /data/docker/data/mongo/data:/data/db -v /data/docker/data/mongo/conf:/data/configdb -v /data/docker/data/mongo/logs:/data/log/ -e MONGO_INITDB_ROOT_USERNAME=test -e MONGO_INITDB_ROOT_PASSWORD=123456 -e MONGO_INITDB_DATABASE=admin -v /etc/localtime:/etc/localtime --restart=always -d mongo:6.0.4

示例:

  • 不使用 -d 选项时,直接在当前宿主机上显示执行结果

  • 使用 -d 选项时,容器在后台运行,只返回容器的长ID(容器内的运行结果,可以通过 “docker logs 容器” 命令查看)

12、docker ps 或 docker container ls 列出容器。

命令格式如下:

docker container ls [选项]  

或  

docker ps [选项]

选项说明:
  -a, --all                    显示所有容器 (包括终止的容器)
  -f, --filter filter          基于条件过滤结果
      --format string     使用Go模板格式化显示结果
  -n, --last int              显示最后创建的n个容器 (不论状态是什么) (默认是 -1)
  -l, --latest                 显示最后创建的那个容器 (不论状态是什么)
      --no-trunc             Don't truncate output
  -q, --quiet                 所有结果只显示容器ID
  -s, --size                  显示总的文件大小

示例:

以上示例列出最后创建的6个容器。
可见,会返回:容器ID、镜像名、容器中执行的命令、容器创建的时间、容器状态、容器暴露的端口、容器的名字。


13、docker stop 或 docker container stop 停止容器

命令格式如下:

docker container stop [选项] 容器1 [容器2...]

docker stop [选项] 容器1 [容器2...]

选项说明:
-t, --time int   等待多少秒以后终止容器 (默认是 10)

14、docker restart 或 docker container restart 重启容器

命令格式如下:

docker container restart [选项] 容器1 [容器2...]

docker restart [选项] 容器1 [容器2...]

选项说明:
-t, --time int   等待多少秒以后终止容器 (默认是 10)

15、docker start 或 docker container start 启动容器

命令格式如下:

docker container start [选项] 容器1 [容器2...]

docker start [选项] 容器1 [容器2...]

选项说明:
-t, --time int   等待多少秒以后终止容器 (默认是 10)

16、docker rm 或 docker container rm 删除容器

命令格式如下:

docker container rm [选项] 容器1 [容器2...]

docker rm [选项] 容器1 [容器2...]

选项说明:
  -f, --force             强制删除运行中的容器(uses SIGKILL)
  -l, --link                删除指定的链接
  -v, --volumes       删除容器相关的数据卷

示例:

17、docker exec 进行运行的容器进行交互操作

在使用 -d 参数时,容器启动后会在后台运行。某些时候需要进入容器进行操作。

命令格式如下:

docker exec [选项] 容器 命令 [参数...]

选项说明:
  -d, --detach                      Detached mode: 在后台运行命令
      --detach-keys string     Override the key sequence for detaching a container
  -e, --env list                     设置环境变量
  -i, --interactive                 提供标准输入流,用于交互操作
      --privileged                  为命令提供扩展权限
  -t, --tty                             终端
  -u, --user string               用户名 or UID (格式: <name|uid>[:<group|gid>])
  -w, --workdir string          容器中的工作目录

示例:

示例:

#进入my-mysql容器
docker exec -it my-mysql bash

#进入容器后,可以进入MySQL命令行客户端
mysql -uroot -p123456

示例:

#进入my-redis容器
docker exec -it my-redis /bin/bash

#进入容器后,不带密码进入redis命令行客户端
redis-cli 

#进入容器后,带密码进入redis命令行客户端
redis-cli -h 127.0.0.1 -p 6379 -a 123456 

18、docker logs 查看容器运行日志

命令格式如下:

docker logs [选项] 容器

选项说明:
-f 或 --follow:实时跟踪容器日志的输出,类似于使用tail -f命令查看文件。这允许用户查看日志的实时更新。
--since:仅显示在指定的时间之后生成的日志。用户可以通过提供时间戳来限制日志的显示范围。
-t 或 --timestamps:在日志条目前面显示时间戳。这有助于用户了解每条日志生成的具体时间。
--tail:仅显示最后几行日志,默认为显示所有日志。用户可以通过此选项限制显示的日志行数,例如只显示最后的100行。

示例:

# 实时跟踪显示my-admin容器最后20行的日志,日志中显示时间戳
docker logs -f -t --tail 20 my-admin

19、docker export 导出容器快照

导出容器的文件系统到一个 tar 压缩文件(.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz),即,将容器快照导出到本地文件。

命令格式如下:

docker export [选项] 容器

选项说明:
  -o, --output string   导出到文件,而非标准输出流,可以用 > 代替

示例:

20、docker import 导入 tar 镜像文件 / 容器快照为本地镜像

导入一个 tar 镜像文件(注意,不能是 docker save 打包的 tar 文件) / 容器快照文件(.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz)为镜像。

命令格式如下:

docker import [选项] file|URL|- [镜像仓库名[:标签]]

选项说明:
  -c, --change list                  使用Dockerfile指令来创建镜像
  -m, --message string          设置导入镜像的提交信息

 注意:
1) 可以从本地文件系统,或指定URL中导入tar镜像文件 / 容器快照文件(.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz)为镜像。
2) 可以通过指定 URL 或 - (dash) 来从标准输入流 STDIN 中直接获取数据。URL用于指向一个包含文件系统的镜像文件 (支持.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz)。若是导入一个网络资源上的镜像文件,URL地址必须以 http:// 或 https:// 开头。  
3) 建议一定要设置 镜像名,即 仓库名:标签, 不然会变成虚悬镜像。


示例:

示例:
从远程位置导入,这将创建一个新的未标记镜像。

$ docker import http://example.com/exampleimage.tgz

从本地文件导入,通过管道和标准输入导入到docker。

$ cat exampleimage.tgz | docker import - exampleimagelocal:new

导入时附带提交信息。

$ cat exampleimage.tgz | docker import --message "New image imported from tarball" - exampleimagelocal:new

从本地文件导入到docker。

$ docker import /path/to/exampleimage.tgz

从本地目录导入

$ sudo tar -c . | docker import - exampleimagedir

附带新的配置信息,从本地目录导入

$ sudo tar -c . | docker import --change "ENV DEBUG true" - exampleimagedir

21、docker save 保存本地镜像为tar镜像文件

保存一个或多个镜像为 tar 压缩文件(默认是写到标准输出流)。会保存镜像的名字(仓库名:标签)、完整信息。

命令格式如下:

docker save [选项] 镜像1 [镜像2...]

选项说明:
-o, --output string   写到指定 tar 文件中,可以用 > 替换

示例:

# 打包后的 images.tar 包含 postgres:9.6 和 mongo:3.4这两个镜像
docker save -o images.tar postgres:9.6 mongo:3.4

 或

docker save > images.tar postgres:9.6 mongo:3.4

22、docker load 加载 tar 镜像文件为本地镜像

从一个 tar 压缩文件或标准输入中加载一个镜像。会加载镜像的名字(仓库名:标签)、完整信息,若本地镜像库(通过docker images查看)已经存在该镜像,会将已存在的镜像替换。

命令格式如下:

docker load [选项]

选项说明:
  -i, --input string   从一个tar压缩文件中加载,可以用 < 替换
  -q, --quiet           不显示加载过程的细节

示例:

23、docker save / load 与 export / import 对比分析

1) docker save / load 用于对本地镜像进行操作;docker export / import用于对容器快照进行操作;
2) docker save 打包后的文件比docker export打包后的文件大,因为容器快照文件将丢弃所有的历史记录和元数据信息,仅保存容器当时的快照状态;
3) docker load 和docker import都是将压缩包恢复成本地镜像;
4) docker load 不能对载入的镜像重命名;docker import可以为镜像指定新的名称(仓库名:标签);
5) docker load 只能加载 docker save打包后的文件,如果加载docker export 打包后的容器快照,将报错 open /var/lib/docker/tmp/docker-import-082344818/bin/json: no such file or directory;
6)docker import 既可以导入docker save打包后的文件,也能导入docker export打包后的容器快照,但导入docker save打包后的文件,来启动容器,容器将不能启动;
7) docker load 只能和 docker save 互操作;docker import 还可以导入网络上的 tar 镜像。
8) 很多无法使用互联网的安装场景(比如涉密场所),需要先使用 docker save 将已有的镜像导出为压缩包,然后将压缩包拷贝到涉密场所的服务器中,再使用 docker load 执行镜像导入。

24、docker image prune 清理none镜像(虚悬镜像:没被标记且没被其它任何镜像引用的镜像)

docker image prune -a  清理无容器使用的镜像。默认情况下,系统会提示是否继续。要绕过提示,请使用 -f 或 --force 标志。可以使用 --filter 标志使用过滤表达式来限制修剪哪些镜像。

例如,只考虑清理 24 小时前创建的镜像

$ docker image prune -a --filter "until=24h"

25、docker container prune 清理停止状态的容器

默认情况下,系统会提示是否继续。要绕过提示,请使用 -f 或 --force 标志。

默认情况下,所有停止状态的容器会被删除。可以使用 --filter 标志来限制范围。

选项说明:
      --filter filter     配置过滤器 (e.g. 'until=<timestamp>')
  -f, --force           不提示(默认会提示)  

示例:

示例:

#删除 24 小时之前创建的停止状态的容器:
$ docker container prune --filter "until=24h"

26、docker volume prune 清理无容器使用的卷

27、docker network prune 清理没有被容器未使用的网络

28、docker system prune 清理所有没有使用的数据

包括废弃的镜像(虚悬镜像)、停止的容器、没有使用的网络、构建缓存等。

docker system prune -a 清理整个系统,只会保留真正在使用的镜像,容器,数据卷以及网络,未绑定容器的镜像也会被清除。因此,需要格外谨慎,不能在生产环境中运行prune -a命令

29、设置定时清理docker数据

通常可以设置定时任务来清除docker数据。
示例:当镜像占用磁盘空间很大时,设置如下的定时任务:

#每天凌晨1点,删除72小时之外所有没有被使用的镜像:
[root@develop-server]# crontab -e
0 1 * * * docker image prune -a --force --filter "until=72h"

30、docker system df 查看Docker整体磁盘使用率的概况

包括镜像、容器和(本地)volume,查看Docker使用了多少资源

31、docker build 从指定的 Dockerfile 构建镜像

示例:

docker build -t myimage:latest .

32、docker commit 从一个容器的更改创建一个新的镜像

示例:

docker commit my-container new_image_name:tag

33、docker network ls 列出所有 Docker 网络

示例:

docker network ls

34、docker network create 创建一个新的 Docker 网络

命令格式如下:

docker network create --subnet 子网IP/掩码 子网名

示例:

## 创建子网
docker network create --subnet 192.168.100.0/24 --gateway=192.168.100.1 my-net

35、docker network connect 连接一个容器到一个网络

示例:

docker network connect my_network my-container

36、docker network disconnect 断开一个容器与一个网络的连接

示例:

docker network disconnect my_network my-container

37、docker network inspect 查看容器网络IP的占用情况

示例:

docker network inspect my-container   

38、docker inspect my-container | grep IPAddress 查看容器的ip地址            

39、docker volume ls 列出所有 Docker 数据卷

示例:

docker volume ls

40、docker volume create 创建一个新的数据卷

示例:

docker volume create my_volume

41、docker volume rm 删除数据卷

示例:

docker volume rm my_volume

42、docker tag 给镜像打标签

示例:

docker tag myimage:latest myrepository/myimage:latest

43、docker push 推送镜像

示例:

docker push myrepository/myimage:latest

44、docker inspect 以json格式查看容器、镜像、网络和卷等对象的详细信息

1)查看容器信息:

docker inspect <容器ID或名称>

示例:

docker inspect my-container

此命令将打印出有关指定容器的完整信息,包括容器ID、名称、镜像、IP地址、网络设置、挂载卷、环境变量等。
2)查看镜像信息:

docker inspect <镜像ID或名称>

示例:

docker inspect nginx

此命令将显示有关指定镜像的完整信息,包括镜像ID、标签、大小、创建时间、挂载点、端口映射等。
3)查看网络信息:

docker inspect <网络ID或名称>

示例:

docker inspect bridge

此命令将显示有关指定网络的详细信息,包括网络ID、名称、驱动程序、子网、网关、IP范围等。
4)查看卷信息:

docker inspect <卷名>

示例:

docker inspect my-volume

此命令将显示指定卷的详细信息,包括卷名、路径、驱动程序、容器挂载等。

除了上述常见用法,docker inspect还支持一些其他参数来进一步定制输出的结果。以下是一些常用参数:
5)--format=<模板>:使用Go模板语法来指定输出的格式。
示例:

docker inspect --format='{{.Name}}: {{.State.Status}}' my-container 

该命令将输出指定容器的名称和状态,使用自定义的格式。
6)--type=<类型>:仅显示指定类型的对象信息。
示例:

docker inspect --type=image nginx

此命令将仅显示有关镜像的详细信息,而过滤掉其他类型的对象。
7)--size:显示镜像的大小。
示例:

docker inspect --size nginx

此命令将在镜像的详细信息中包含镜像大小。

8)结合grep来查询
示例:

#查看my-mysql容器的ip地址:
docker inspect my-mysql | grep IPAddress 

45、docker cp :用于容器与宿主机之间的数据拷贝。

命令格式如下:

#从容器复制文件到宿主机目录
docker cp [选项] 容器:源路径 宿主机路径

#从宿主机目录复制文件到容器
docker cp [选项] 宿主机源路径 容器:目标路径

示例:

#复制宿主机文件到容器:
docker cp check_database_mysql_linux.pl spn-mysql:/check_database_mysql_linux.pl
docker cp check_database_mysql_linux.sh spn-mysql:/check_database_mysql_linux.sh

#从容器复制文件到宿主机:
docker cp spn-mysql:/192.168.111.88_linux_mysql_chk.xml .
docker cp spn-mysql:/etc/mysql/mysql.cnf .
docker cp my.cnf mysql5.7:/etc/my.cnf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/731771.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM类加载器与双亲委派机制

通过上一篇Java的类加载机制相信大家已经搞明白了整个类加载从触发时机&#xff0c;接着我们就来看下类加载器&#xff0c;因为类加载机制是有加载器实现的。 类加载器的分类 启动类加载器 Bootstrap ClassLoader 是 Java 虚拟机&#xff08;JVM&#xff09;的一部分&#x…

C#调用OpenCvSharp实现图像的直方图均衡化

本文学习基于OpenCvSharp的直方图均衡化处理方式&#xff0c;并使用SkiaSharp绘制相关图形。直方图均衡化是一种图像处理方法&#xff0c;针对偏亮或偏暗的图像&#xff0c;通过调整图像的像素值来增强图像对比度&#xff0c;详细原理及介绍见参考文献1-4。   直方图均衡化第…

【中学教资科目二】02中学课程

02中学课程 第一节 课程概述1.1 课程的分类 第二节 课程组织2.1 课程内容的文本表现形式2.2 课程评价 第三节 基础教育课程改革3.1 基础教育改革的目标3.2 新课改的课程结构 第一节 课程概述 1.1 课程的分类 学校课程有多种类型&#xff0c;其中最利于学生系统掌握人类所取得的…

多维表格/业务库表格大数据量性能瓶颈

先说最终结论&#xff1a;Angular 组件创建性能损耗是当下主要的性能瓶颈 理由&#xff1a; 基于以往编辑器性能优化的经验&#xff0c;编辑器在动态渲染内容时会创建很多壳子组件&#xff08;也就是Angular 组件&#xff09;&#xff0c;排查的时候就发现如果略这些壳子组件性…

mysql--安装跳过验证修改密码安全加固

安装mysql 配置mysql的yum源 [rootVM-0-14-rockylinux ~]# tee /etc/yum.repos.d/mysql.repo << EOF > [MYSQL] > namemysql > baseurlhttps://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64 > gpgcheck0 > EOF yum安装mysq…

海南聚广众达电子商务咨询有限公司抖音电商新标杆

在数字经济的浪潮中&#xff0c;抖音电商正成为一股不可忽视的力量。海南聚广众达电子商务咨询有限公司&#xff0c;作为专注于抖音电商服务的领军企业&#xff0c;凭借其专业的团队和创新的思维&#xff0c;不断助力商家在抖音平台上实现商业价值的最大化。 海南聚广众达电子…

【ai】tx2-nx:Yolo V4 直接安装与 测试

Yolo V4环境搭建 git clone https://github.com/AlexeyAB/darknet.gitcuda版本和路径也要改成我们的实际版本和路径,否则会编译失败 编译 sudo make nvidia@tx2-nx:~/twork/02_yolov4/darknet$ vi Makefile nvidia@tx2-nx:~/twork/02_yolov4/darknet$ sudo make [sudo

众爱宠物开源项目介绍

众爱宠物管理系统是一个集会员管理、宠物管理、商品管理、库存管理、数据管理、收银管理、多门店管理等功能于一体的综合管理系统&#xff0c;具有操作方便、简单、安全等优点。 开源项目地址

数学建模系列(3/4):典型建模方法

目录 引言 1. 回归分析 1.1 线性回归 基本概念 Matlab实现 1.2 多元回归 基本概念 Matlab实现 1.3 非线性回归 基本概念 Matlab实现 2. 时间序列分析 2.1 时间序列的基本概念 2.2 移动平均 基本概念 Matlab实现 2.3 指数平滑 基本概念 Matlab实现 2.4 ARIM…

Android修行手册-ImageView的adjustViewBounds和设置透明度

点击跳转>GameFramework文档系列&#xff08;二&#xff09;- 场景相关 点击跳转>GameFramework文档系列&#xff08;三&#xff09;- 日志管理和UI 点击跳转>GameFramework文档系列&#xff08;四&#xff09;- 事件订阅 点击跳转>保姆式Cocos合成大西瓜案例 …

HarmonyOS Next 系列之可移动悬浮按钮实现(六)

系列文章目录 HarmonyOS Next 系列之省市区弹窗选择器实现&#xff08;一&#xff09; HarmonyOS Next 系列之验证码输入组件实现&#xff08;二&#xff09; HarmonyOS Next 系列之底部标签栏TabBar实现&#xff08;三&#xff09; HarmonyOS Next 系列之HTTP请求封装和Token…

基于强化学习的目标跟踪论文合集

文章目录 2020UAV Maneuvering Target Tracking in Uncertain Environments Based on Deep Reinforcement Learning and Meta-LearningUAV Target Tracking in Urban Environments Using Deep Reinforcement Learning 2021Research on Vehicle Dispatch Problem Based on Kuhn-…

BGP路由反射器实验

实验内容&#xff1a; 通过本实验验证bgp路由反射器的规则 1. 从client收到的路由更新&#xff0c;反射到non-client和client&#xff0c;同时发送给EBGP邻居 2. 从non-client收到的路由更新&#xff0c;只反射到client&#xff0c;同时发送给EBGP邻居 3. 从EBGP邻居收到的路…

PXE自动平台 搭建 银河麒麟 UEFI x86_64 ARM64

1. PXE自动化 原理 要实现PXE自动安装需要以下组件&#xff1a; DHCP服务&#xff1a;服务器通过网络启动时自动分配IP地址。TFTP服务&#xff1a;提供服务器启动下载启动引导EFI。HTTP服务&#xff1a;操作系统镜像下载。 各组件工作原理如下[1]&#xff1a; 开PXE后&…

最新版ChatGPT对话系统源码 Chat Nio系统源码

最新版ChatGPT对话系统源码 Chat Nio系统源码 支持 Vision 模型, 同时支持 直接上传图片 和 输入图片直链或 Base64 图片 功能 (如 GPT-4 Vision Preview, Gemini Pro Vision 等模型) 支持 DALL-E 模型绘图 支持 Midjourney / Niji 模型的 Imagine / Upscale / Variant / Re…

Redis-数据类型-Geospatial(地理空间索引)

文章目录 1、查看redis是否启动2、通过客户端连接redis3、切换到db5数据库4、将地理位置信息&#xff08;经度和纬度&#xff09;添加到 Redis 的键&#xff08;key&#xff09;中4.1、添加大江商厦4.2、添加西部硅谷 5、升序返回有序集key&#xff0c;让分数一起和值返回的结果…

Doris连接超时问题排查记录

文章目录 一、现象描述二、问题排查1、分析驱动包2、分析Mysql客户端&#xff08;问题解决&#xff09; 一、现象描述 先上官网部署地址&#xff0c;按照官网上一步步进行部署 https://doris.apache.org/zh-CN/docs/get-starting/quick-start 基本到最后都挺顺利的&#xff0c…

2022年大作业参考报告-使用C++语言开发小学生成绩管理系统、中学生成绩管理系统、大学生成绩管理系统【240621更新】

背景&#xff1a; 目录 第一章 需求分析 2 1.1 问题描述 2 6.1 功能需求 2 6.2 开发环境 2 6.3 开发过程 2 第二章 概要设计 3 2.1 总体设计 3 2.2 类的定义 3 2.3 接口设计 5 2.4 运行界面设计 6 第三章 详细设计 …

【滚动哈希 二分查找】1044. 最长重复子串

本文涉及知识点 滚动哈希 二分查找算法合集 LeetCode 1044. 最长重复子串 给你一个字符串 s &#xff0c;考虑其所有 重复子串 &#xff1a;即 s 的&#xff08;连续&#xff09;子串&#xff0c;在 s 中出现 2 次或更多次。这些出现之间可能存在重叠。 返回 任意一个 可能具…

vs2022 studio控制台出现中文乱码解决

vs2022 studio控制台出现中文乱码解决 问题解决 问题 这里cout中间的中文&#xff0c;但控制台出现的是乱码对此需要进行修改 解决 打开运行的主文件&#xff0c;也就是整个程序的入口&#xff0c;对他另存为 之后点击编码保存 接着将编码保存的格式变为图片对应的这种 记…