无网安装Docker及Docker镜像的导入导出
无网安装Docker
需要提前下载安装包,下载地址:https://download.docker.com/linux/static/stable/x86_64/ 其中地址目录stable
可以更改为nightly
或test
(注意安装包中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