Docker常用操作和命令

news/2024/7/14 6:06:10

文章目录

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

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

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

相关文章

Android记录22-关于开发中账号绑定的逻辑处理

有绑定的状态&#xff0c;自然也有取消绑定的状态&#xff1a; 这里的取消绑定只是简单改变应用内的一个状态罢了&#xff0c;并不会跟我们的服务端交互&#xff0c;也不会影响我们的账号登录的状态。 说了这么多&#xff0c;也没看见代码&#xff0c;你们会不会打我&#xff…

Java 接口

本篇学习接口&#xff0c;并区分接口与抽象类两者之间的异同点。上篇已经讲解了抽象类&#xff0c;有需要的小伙伴可以点链接康康 https://blog.csdn.net/m0_73107796/article/details/139863674 目录 1、 什么是接口 2、 接口定义格式 3、 接口的使用 4、接口特性 5、抽象…

【算法训练记录——Day32】

Day32——贪心算法Ⅱ 1.leetcode122买卖股票的最佳时机II2.leetcode55跳跃游戏3.leetcode45跳跃游戏II4.eetcode1005K次取反后最大化的数组和 目标&#xff1a; leetcode122买卖股票的最佳时机IIleetcode55跳跃游戏leetcode45跳跃游戏IIleetcode1005K次取反后最大化的数组和 1…

高效、智能、安全:小型机房EasyCVR+AI视频综合监控解决方案

一、背景需求分析 随着信息技术的迅猛发展&#xff0c;小型机房在企事业单位中扮演着越来越重要的角色。为了确保机房的安全稳定运行&#xff0c;远程监控成为了必不可少的手段。 二、视频监控 视频监控是机房远程监控的重要组成部分。通过安装IP摄像机及部署视频监控系统Ea…

Unity3d 游戏暂停(timeScale=0)引起的deltaTime关联的系列问题解决

问题描述 游戏暂停的功能是通过设置timeScale0实现的&#xff0c;不过在暂停游戏的时候&#xff0c;需要对角色进行预览和设置&#xff0c;为了实现这个功能&#xff0c;是通过鼠标控制相机的操作&#xff0c;为了使相机的操作丝滑&#xff0c;获取鼠标操作系数乘以Time.delta…

人工智能--搭建人工神经网络

欢迎来到 Papicatch的博客 文章目录 &#x1f349;引言 &#x1f349;神经元与感知器 &#x1f348;神经元&#xff08;Neuron&#xff09; &#x1f348;感知器 &#x1f349;损失函数与梯度下降算法 &#x1f348;损失函数 &#x1f348;梯度下降算法 &#x1f349;…