无网安装Docker及Docker镜像的导入导出

无网安装Docker

需要提前下载安装包,下载地址:https://download.docker.com/linux/static/stable/x86_64/ 其中地址目录stable可以更改为nightlytest(注意安装包中ce是测试版)

1.下载完安装包后上载到服务器并解压

tar xzvf docker-20.10.8.tgz

2.将文件移到可执行路径/usr/bin/目录中

sudo cp docker/* /usr/bin/

3.进行配置 docker.service文件

vi /usr/lib/systemd/system/docker.service
#文件内容(文件初始为空)
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
 
[Install]
WantedBy=multi-user.target

4.启动dockerd服务进程

systemctl daemon-reload
systemctl start docker.service

5.查看docker 安装信息

docker info

6.设置开机自动启动

sudo systemctl enable docker

Docker容器提交为镜像已及镜像的导入与导出

在无网环境中无法直接使用docker pull命令下载镜像

在有网环境中下载镜像并run启动为容器进行配置更改,在把更改的版本进程提交为自己制作的镜像

docker commit -m="描述信息" -a="作者" 容器id 目标镜像名:版本(镜像名和版本自己定义)
列如:docker commit -m="master-mysql" -a="xxx" 2cf3df44ebea mysql_master:5.7

使用命令docker images 查看创建的镜像

把这个镜像进行导出

docker save 镜像id > 目录/XXX.tar
例:docker save bbc1613f061a > /home/docker/images/mysql_master.tar

在把导出的镜像上载到无网环境中进行导入

docker load < xxx.tar
例:docker load < mysql_master.tar

使用dcoker images命令查看镜像,由于导入的镜像没有镜像名及版本信息

重命名镜像

docker tag 镜像ID 镜像名:版本
例:docker tag bbc1613f061a mysql_master:5.7

启动镜像

docker run -d -p 3307:3306 --name mysql_master mysql_master:5.7

查看容器状态docker ps

原文地址:https://www.cnblogs.com/A-Nan-q/p/15100361.html