当前位置: 首页 > news >正文

Linux容器篇、第一章_01Linux系统下 Docker 安装与镜像部署全攻略

Linux_docker篇

欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神!

题目:Linux 系统下 Docker 安装与镜像部署全攻略

版本号: 1.0,0
作者: @老王要学习
日期: 2025.05.26
适用环境: Rocky9.5

文档说明

本文围绕 Linux 系统下 Docker 的安装、部署与管理展开,涵盖环境准备、镜像操作、容器管理等内容。详细介绍不同系统安装 Docker 步骤,阐述镜像下载、启动及容器查看、删除等操作,还涉及网络设置、镜像导出导入等知识,为 Docker 初学者提供全面指南

环境准备

硬件要求

  • 服务器: 2核CPU、2GB内存,20GB硬盘空间
  • 网络: 确保服务器具有固定的IP地址,并且防火墙允许FTP端口(默认22端口)的通信

软件要求

  • 操作系统:Rocky9.5
  • FTP软件:SecureCRT
  • 软件包:

服务器IP
docker-5192.168.174.5

一、安装docker

1.0禁用防火墙

systemctl stop firewalld && systemctl disable firewalldsed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/configreboot

1.1Rocky(CentOS)

# 安装依赖工具
yum install -y yum-utils# 添加软件源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装docker
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin# 开启docker服务
service docker start# 查看Docker的各种信息
docker info

1.2Ubuntu

# 安装必要的一些系统工具
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg# 信任 Docker 的 GPG 公钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg# Step 3: 写入软件源信息
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# Step 4: 安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

二、部署镜像

2.1添加docker加速器

阿里云:需登录阿里云容器镜像服务控制台获取专属地址,格式类似https://<你的加速器地址>.mirror.aliyuncs.com 。
Docker 官方中国区:https://registry.docker-cn.com
中国科学技术大学:https://docker.mirrors.ustc.edu.cn
网易 163:https://hub-mirror.c.163.com
Azure 中国区:https://mirror.azure.cn
DaoCloud(道客云):https://docker.m.daocloud.io

cat>>/etc/docker/daemon.json<<LW
{"registry-mirrors": ["https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://mirror.azure.cn","https://mirror.azure.cn"]
}
LW# 重载并重启docker服务
systemctl daemon-reload
systemctl restart docker# 验证配置是否生效
docker info | grep -i mirror
#输出如下: Registry Mirrors:https://docker.mirrors.ustc.edu.cn/https://hub-mirror.c.163.com/https://mirror.azure.cn/

2.2下载镜像

#  拉取 Nginx 官方镜像
docker pull nginx
#输出如下: 
Using default tag: latest
latest: Pulling from library/nginx
61320b01ae5e: Pull complete 
670a101d432b: Pull complete 
405bd2df85b6: Pull complete 
cc80efff8457: Pull complete 
2b9310b2ee4b: Pull complete 
6c4aa022e8e1: Pull complete 
abddc69cb49d: Pull complete 
Digest: sha256:fb39280b7b9eba5727c884a3c7810002e69e8f961cc373b89c92f14961d903a0
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest# 下载Ubuntu镜像
docker pull ubuntu# 下载 busybox
docker pull busybox# 查看当前下载的镜像
docker images
#输出如下: 
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
ubuntu       latest    a0e45e2ce6e6   4 weeks ago    78.1MB
nginx        latest    be69f2940aaf   5 weeks ago    192MB
busybox      latest    6d3e4188a38a   8 months ago   4.28MB

2.3启动镜像

2.3.1不进入终端执行命令

docker run ubuntu:latest cat /etc/passwd# 在后台运行
docker run -d ubuntu:latest cat /etc/passwd

2.3.2进入终端执行命令

# 启动Ubuntu镜像(进入终端)
docker run -t ubuntu:latest 
root@e3b97ce230b4:/cat /etc/passwd
#输出如下: 
无结果,因为不是交互式,无法执行命令# 查看正在运行的容器
docker ps
#输出如下: 
CONTAINER ID   IMAGE           COMMAND       CREATED         STATUS         PORTS     NAMES
e3b97ce230b4   ubuntu:latest   "/bin/bash"   5 minutes ago   Up 5 minutes             cool_tesla

2.3.3交互式可执行命令,并进入终端

# 启动Ubuntu镜像(交互式可执行命令,并进入终端)
docker run -it ubuntu:latest # 查看当前Ubuntu的版本
root@f4e2f1b689f0:/# cat /etc/os-release 
#输出如下: 
PRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"

2.3.4复合使用

# 在后台启动并启动终端且可执行
docker run -dit ubuntu:latest 
#输出如下: 
03acb643dd251460f51c3021e254075ec9ef8c70f529970dc209a6808add0854# 查看最近一条启动记录
docker ps -l
#输出如下: 
CONTAINER ID   IMAGE           COMMAND       CREATED         STATUS         PORTS     NAMES
03acb643dd25   ubuntu:latest   "/bin/bash"   2 minutes ago   Up 2 minutes             optimistic_merkle

2.3.5exec

# 在运行中的容器内执行命令docker exec -it optimistic_merkle /bin/bash
root@03acb643dd25:/# # 查看当前运行的容器
docker ps
CONTAINER ID   IMAGE           COMMAND       CREATED             STATUS             PORTS     NAMES
03acb643dd25   ubuntu:latest   "/bin/bash"   32 minutes ago      Up 32 minutes                optimistic_merkle
508cdafd51b2   ubuntu:latest   "/bin/bash"   53 minutes ago      Up 53 minutes                distracted_keller
e3b97ce230b4   ubuntu:latest   "/bin/bash"   About an hour ago   Up About an hour             cool_tesla

2.3.6attach

# 连接容器(退出容器停止)
docker attach optimistic_merkle
root@03acb643dd25:/## 再次查看运行的容器
docker ps
CONTAINER ID   IMAGE           COMMAND       CREATED             STATUS             PORTS     NAMES
508cdafd51b2   ubuntu:latest   "/bin/bash"   55 minutes ago      Up 55 minutes                distracted_keller
e3b97ce230b4   ubuntu:latest   "/bin/bash"   About an hour ago   Up About an hour             cool_tesla
命令作用
docker exec已运行的容器内执行命令
docker run创建并启动新容器执行命令
docker attach连接到容器的主进程(可能导致退出时容器停止)

2.3.7小结

参数作用示例
-i交互式(可执行命令)docker run -i ubuntu:latest
-t分配伪终端docker run -t ubuntu:latest
-d后台运行容器(返回容器ID)docker run -d ubuntu:latest
-p映射容器端口到主机(格式:主机端口:容器端口)docker run -p 8080:80 nginx

2.4查看容器状态

# 查看容器列表
docker ps

2.4.1小结

参数作用
-a显示所有容器(包括停止的)
-q只显示容器ID
-s显示文件占用的文件大小
-l显示最近创建的容器(包括停止的)
–no-trunc不截断输出

三、镜像部署(扩展)

3.1安装MySQL镜像

# 拉取镜像
docker pull mysql:5.7# 修改登录密码
docker run -d -P -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
#输出如下: 
ec4cae89c6382c4f4b54af574c299f76f4a07bb4fb885ec8a6473b9d47a52132# 查看镜像状态
docker ps -l
#输出如下: 
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                                                                            NAMES
ec4cae89c638   mysql:5.7   "docker-entrypoint.s…"   33 seconds ago   Up 33 seconds   0.0.0.0:32768->3306/tcp, [::]:32768->3306/tcp, 0.0.0.0:32769->33060/tcp, [::]:32769->33060/tcp   distracted_bhaskara# 进入数据库
docker exec -it distracted_bhaskara mysql -uroot -p123456

3.2自网络设置

# 创建了一个自定义的 Docker 桥接网络
docker network create --subnet 192.168.10.0/24 --gateway 192.168.10.1 mynet02
#输出如下: 
452ed1bede485d390d2435154a382eabb954d7cc4b9da99ecdb2cb0eb7b76461# 创建lw1容器,运行在mynet02,固定IP为192.168.10.10
docker run -dit --name lw1 --network mynet02 --ip 192.168.10.10 busybox:latest 42b01c619d58b559aa6843e5cdf8757919611780558b799f4c2ec7109f542a71# 进入lw1查看IP地址
docker exec -it lw1 sh
/ # ip a
#输出如下: 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0@if26: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue link/ether 12:ea:88:10:ed:6d brd ff:ff:ff:ff:ff:ffinet 192.168.10.10/24 brd 192.168.10.255 scope global eth0valid_lft forever preferred_lft forever

网络配置解析
驱动类型:默认使用 bridge 驱动(未指定 --driver 时),适合单机容器通信。
子网(Subnet):192.168.10.0/24,支持 254 个可用 IP(192.168.10.1 到 192.168.10.254)。
网关(Gateway):192.168.10.1,容器通过此 IP 访问外部网络。
网络名称:mynet02,用于后续容器连接。

3.3自网络设置与查看

# 在为Ubuntu设置一个IP
docker run -dit --name lw2 --network mynet02 --ip 192.168.10.11 ubuntu:latest 
#输出如下: 
8dda70b34df9e5a9596ce8cfe68f004c61000bcbae512aac03f5a4f2421cc7e3# 查看容器状态
docker ps -l
#输出如下: (成功启动)
CONTAINER ID   IMAGE           COMMAND       CREATED              STATUS              PORTS     NAMES
8dda70b34df9   ubuntu:latest   "/bin/bash"   About a minute ago   Up About a minute             lw2

3.3.1查看容器IP方法一:

# 查看容器 lw2 的详细配置信息
docker inspect lw2 
#输出如下: (如下为最后几行数据)"EndpointID": "6ffc90df2f57101db15c5029356f9d39f09a8211fbb5d81204010c9ec1994582","Gateway": "192.168.10.1","IPAddress": "192.168.10.11","IPPrefixLen": 24,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"DNSNames": ["lw2","8dda70b34df9"]}}}}
]

3.3.2查看容器IP方法二:

# 查看mynet02的网络信息
docker network inspect mynet02
#输出如下: },"8dda70b34df9e5a9596ce8cfe68f004c61000bcbae512aac03f5a4f2421cc7e3": {"Name": "lw2","EndpointID": "6ffc90df2f57101db15c5029356f9d39f09a8211fbb5d81204010c9ec1994582","MacAddress": "b6:17:13:31:1b:ef","IPv4Address": "192.168.10.11/24","IPv6Address": ""}},"Options": {},"Labels": {}}
]

3.3.3查看容器IP方法三:

# 提取特定字段提取IP地址
docker inspect -f '{{.NetworkSettings.Networks.mynet02.IPAddress}}' lw2
#输出如下: 

3.4共享网络栈

# 创建启动一个新的BusyBox容器,与容器 lw2 共享网络栈
docker run -it --network container:lw2 busybox:latest 
/ # ip a
#输出如下: 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0@if27: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue link/ether b6:17:13:31:1b:ef brd ff:ff:ff:ff:ff:ffinet 192.168.10.11/24 brd 192.168.10.255 scope global eth0valid_lft forever preferred_lft forever

3.5退出容器自动删除

docker run -it --name lw1 --rm busybox:latest # 查看变化
docker ps

3.6容器的权限

# 进入容器查看权限(此时是假root)docker run -it busybox:latest 
/ # id
uid=0(root) gid=0(root) groups=0(root),10(wheel)
/ # ls /dev
console  fd       mqueue   ptmx     random   stderr   stdout   urandom
core     full     null     pts      shm      stdin    tty      zero# 使用root权限进入容器(显示全部文件)docker run -it --privileged busybox:latest 
/ # ls /dev/
autofs           nvme0n1          tty19            tty47            usbmon1
bsg              nvme0n1p1        tty2             tty48            usbmon2
bus              nvme0n1p2        tty20            tty49            userfaultfd
console          nvram            tty21            tty5             vcs
core             port             tty22            tty50            vcs1

四、删除容器

4.1删除单个容器

# 语法
docker rm [容器ID或名称]

4.1.1强制删除(正在运行的容器)

# 语法
docker rm -f [容器ID或名称]

4.2删除多个容器

# 停止全部容器
docker stop $(docker ps -qa)# 删除全部容器
docker rm $(docker ps -qa)# 在查看当前容器为空
docker ps -a
#输出如下: 
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

五、导出镜像(save|load)

5.1导出镜像

# 查看当前有的镜像
docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ubuntu       latest    a0e45e2ce6e6   4 weeks ago     78.1MB
nginx        latest    be69f2940aaf   5 weeks ago     192MB
busybox      latest    6d3e4188a38a   8 months ago    4.28MB
mysql        5.7       5107333e08a8   17 months ago   501MB# 导出镜像
docker save -o lwimages.tar ubuntu:latest nginx:latest busybox:latest 
#输出如下: ll
total 275172
-rw-------. 1 root root       807 Mar  3 17:18 anaconda-ks.cfg
-rw-------  1 root root 281769472 May 27 22:49 lwimages.tar

5.2删除镜像

# 删除容器
docker rmi ubuntu:latest nginx:latest busybox:latest 
#输出如下: 
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:6015f66923d7afbc53558d7ccffd325d43b4e249f41a6e93eef074c9505d2233
Deleted: sha256:a0e45e2ce6e6e22e73185397d162a64fcf2f80a41c597015cab05d9a7b5913ce
Deleted: sha256:8901a649dd5a9284fa6206a08f3ba3b5a12fddbfd2f82c880e68cdb699d98bfb
Untagged: nginx:latest
Untagged: nginx@sha256:fb39280b7b9eba5727c884a3c7810002e69e8f961cc373b89c92f14961d903a0
Deleted: sha256:be69f2940aaf64fdf50c9c99420cbd57e10ee655ec7204df1c407e9af63d0cc1
Deleted: sha256:d4b3df3b01538a659a8990a121e2f90340dec055232275eb6e121f3af230e3c4
Deleted: sha256:8b8ba0c31936a63862b7bb3f9edd4e2721da3ccf99dc0e6dcaf289bbd212ba6f
Deleted: sha256:fcef123e6b584f68369e1c45f4e582be8391b93abd1e5be6ef674ce3459ac7fd
Deleted: sha256:ee697e6373f3f1a82f1a55fc29ef5ebc2c05158dcbfbeffcaf223406f429be8b
Deleted: sha256:d6189b151727a846370cf1355a8b5276f6c2aa41f378cc2945205a0eb03ea861
Deleted: sha256:3c1060a9ec6601e87cbcb04366f323b6383b7f605153e7df398bc1f843e36141
Deleted: sha256:ace34d1d784c01e3f9d156687089e8f58f786e23ccd097bdbbf337d6d28b3783
Error response from daemon: conflict: unable to remove repository reference "busybox:latest" (must force) - container 8a86160739ba is using its referenced image 6d3e4188a38a# 查看容器
docker images
#输出如下: (发现busybox没有删除失败)
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
busybox      latest    6d3e4188a38a   8 months ago    4.28MB
mysql        5.7       5107333e08a8   17 months ago   501MB

5.3删除busybox

# 先查看我有哪些运行的容器
docker ps -a
CONTAINER ID   IMAGE            COMMAND   CREATED          STATUS                      PORTS     NAMES
0d3030a19c7c   busybox:latest   "sh"      14 minutes ago   Exited (0) 7 minutes ago              gallant_beaver
8a86160739ba   busybox:latest   "sh"      18 minutes ago   Exited (0) 15 minutes ago             serene_yonath
d990c08cb187   busybox:latest   "sh"      19 minutes ago   Exited (0) 19 minutes ago             angry_ride# 方法一:删除全部busybox(停止+删除)
docker rm -f $(docker ps -q --filter "ancestor=busybox")# 方法二:停止全部busybox(停止)
docker stop $(docker ps -q --filter "ancestor=busybox:latest")# 删除全部busybox
docker rm $(docker ps -aq --filter "ancestor=busybox:latest")# 删除busybox镜像
docker rmi busybox:latest 
#输出如下: 
Untagged: busybox:latest
Untagged: busybox@sha256:f64ff79725d0070955b368a4ef8dc729bd8f3d8667823904adcb299fe58fc3da
Deleted: sha256:6d3e4188a38af91b0c1577b9e88c53368926b2fe0e1fb985d6e8a70040520c4d
Deleted: sha256:65014c70e84b6817fac42bb201ec5c1ea460a8da246cac0e481f5c9a9491eac0# 查看当前容器
docker images
#输出如下: 
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mysql        5.7       5107333e08a8   17 months ago   501MB

5.4导入镜像

docker load -i lwimages.tar 
#输出如下: 
65014c70e84b: Loading layer  4.516MB/4.516MB
Loaded image: busybox:latest
8901a649dd5a: Loading layer  80.61MB/80.61MB
Loaded image: ubuntu:latest
ace34d1d784c: Loading layer  77.88MB/77.88MB
deb7d8874f38: Loading layer  118.7MB/118.7MB
cb857378ec55: Loading layer  3.584kB/3.584kB
a8b606cdf152: Loading layer  4.608kB/4.608kB
9fd8b974f616: Loading layer   2.56kB/2.56kB
f6e33ee35fd0: Loading layer   5.12kB/5.12kB
941dd9dd8ee4: Loading layer  7.168kB/7.168kB
Loaded image: nginx:latest# 查看当前镜像[
docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ubuntu       latest    a0e45e2ce6e6   4 weeks ago     78.1MB
nginx        latest    be69f2940aaf   5 weeks ago     192MB
busybox      latest    6d3e4188a38a   8 months ago    4.28MB
mysql        5.7       5107333e08a8   17 months ago   501MB
[root@docker-5 ~]# 

六、导出入镜像(expect|import会清理源数据)

6.1导出镜像

# 运行容器
docker run -itd busybox:latest 
#输出如下: 
9f9e83a8970c50ce2daa90a063c2bc37e2299cc9ea077fa2c51ad7ea9f70266e# 进入容器写入文件
docker exec -it 9f9e83a8 sh
/ # touch hello.txt
/ # echo "666" > hello.txt# 查看容器id
docker ps
#输出如下: 
CONTAINER ID   IMAGE            COMMAND   CREATED         STATUS         PORTS     NAMES
9f9e83a8970c   busybox:latest   "sh"      7 minutes ago   Up 7 minutes             gifted_diffie# 导出镜像
docker export -o lwbusybox.tar 9f9e83a8970c
#输出如下: 
ll
total 279584
-rw-------. 1 root root       807 Mar  3 17:18 anaconda-ks.cfg
-rw-------  1 root root   4515840 May 27 23:39 lwbusybox.tar
-rw-------  1 root root 281769472 May 27 22:49 lwimages.tar

6.2导入容器

# 导入镜像
docker import lwbusybox.tar lwbusybox
#输出如下: 
sha256:897dd75f04317c4e28eb0e4c7e378f9f0980ed1fc6c4addde6fc8becb413e95e# 查看当前镜像
docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
lwbusybox    latest    897dd75f0431   28 seconds ago   4.28MB
ubuntu       latest    a0e45e2ce6e6   4 weeks ago      78.1MB
nginx        latest    be69f2940aaf   5 weeks ago      192MB
busybox      latest    6d3e4188a38a   8 months ago     4.28MB
mysql        5.7       5107333e08a8   17 months ago    501MB

6.3进入容器

# 启动容器(导出丢失sh)
docker run -itd lwbusybox:latest sh
079bc58f23c18be5e053cd328c34bb8cb6350d6ad3f55976ca7327bc2b46d7b8# 进入容器查看内容
docker exec -it 079bc58f23 sh
/ # cat hello.txt 
666

七、小结

7.1启动容器

选项功能
-d后台运行容器
-i保持标准输入打开
-t分配伪终端
-p映射端口
-v挂载卷
-e设置环境变量
–name lw指定容器名为lw
–rm容器退出自动删除
-it交互式操作
# 语法
docker run [选项] 镜像名 [命令] [参数...]# 示例
docker run -d -it --rm \-p 8080:80 \-v $(pwd)/data:/app/data \-e DB_HOST=localhost \-e DB_USER=admin \-e DB_PASS=secret \--name my_container \nginx:alpine# 示例分析:
1. 以守护进程模式 (-d) 在后台运行一个交互式容器
2. 分配一个伪终端并保持标准输入打开 (-it)
3. 容器退出时自动删除 (--rm)
4. 将主机的 8080 端口映射到容器的 80 端口 (-p)
5. 将主机当前目录下的 data 目录挂载到容器内的 /app/data 目录 (-v)
6. 设置三个环境变量 (-e) 用于数据库连接配置
7. 为容器指定名称 my_container (--name)
8. 使用 nginx:alpine 镜像创建容器
方式场景语法
docker run启动单个容器docker run [选项] 镜像名 [命令] [参数…]
docker start启动已停止容器docker start 容器名
docker-compose多容器关联docker-compose up -d
docker exec运行后台容器docker exec -it [选项] 容器名 sh
docker attach连接容器(退出容器停止)docker attach 容器名

7.2查看容器

# 查看运行中的容器(语法)
docker ps [选项]# 查看容器详细信息(语法)
docker inspect [选项] 容器名
docker ps 选项功能
-a显示所以容器
-q只显示容器ID
-l显示最近创建容器
–format自定义输出(–format ‘{{.ID}} {{.Names}}’)

7.3删除容器

语法功能
docker rm [容器ID或名称]删除单个容器(已停止的容器)
docker rm -f [容器ID或名称]-f(强制)先停止容器,在删除
docker container prune删除所以已停止的容器
docker rm -f $(docker ps -aq)删除所以容器(运行停止的容器都删除)
docker run --rm [镜像名]删除容器自动清理相关资料(谨慎使用)
docker rm -v [容器ID或名称]删除容器并删除关联数据卷

7.4导出入镜像

语法功能
docker save [选项] 镜像名 > 导出路径.tar导出完整镜像到tar文件
docker save lwimage:v1 > /root/lwimage_v1.tar重定向导出法
docker save -o /root/lwimage_v1.tar lwimage:v1使用–output选项
docker save -o /root/images.tar lwimage:v1 lisiimage:v2导出多个镜像到一个tar文件
docker expect [选项] 容器名 > 导出路径.tar导出容器快照到tar文件
docker load -i 镜像包导入镜像包
docker import 容器快照导入容器快照

相关文章:

  • 分布式爬虫代理IP使用技巧
  • C++性能优化指南
  • go的工具库:github.com/expr-lang/expr
  • 突破数据孤岛:StarRocks联邦查询实战指南
  • 【发布实录】云原生+AI,助力企业全球化业务创新
  • Java设计模式:责任链模式
  • Linux 特殊权限位详解:SetUID, SetGID, Sticky Bit
  • 数据结构第一章
  • 【RAG优化】rag整体优化建议
  • [ Qt ] | 与系统相关的操作(二):键盘、定时器、窗口移动和大小
  • 跟着deepseek浅学分布式事务(2) - 两阶段提交(2PC)
  • yum更换阿里云的镜像源
  • 保险丝选型
  • 树莓派系列教程第九弹:Cpolar内网穿透搭建NAS
  • 云数据库选型指南:关系型 vs NoSQL vs NewSQL的企业决策
  • 【开源工具】 黑客帝国系列系统监控工具:基于PyQt5的全方位资源监控系统
  • 【Linux】编译器gcc/g++及其库的详细介绍
  • 【从GEO数据库批量下载数据】
  • Python训练打卡Day42
  • YOLOv1 到 YOLOv12汇总信息2025.6.4
  • 手机娱乐网站制作/google chrome官网入口
  • 哪个语言做动态网站好用/微信广告怎么投放
  • 做海购的网站/廊坊快速排名优化
  • 做模式网站/重庆seo海洋qq
  • 网站建设项目介绍/海外免费网站推广
  • 沉默是金/seo运营是什么意思