Linux离线安装docker 并导入导出镜像

离线安装非常简单,将docker安装包下载完上传至服务器,配置一下启动服务即可。

1、docker官网下载安装文件 https://download.docker.com/linux/static/stable/x86_64/

2、安装 下载docker-19.03.5.tgz后上传到要安装到服务器上 tar -zxvf docker-19.03.5.tgz cp docker/* /usr/bin/ 3、配置系统服务 (1)vi /etc/systemd/system/docker.service (2)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
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

(3)修改文件权限 chmod +x /etc/systemd/system/docker.service (4)设置Docker容器日志文件大小限制

vi /etc/docker/daemon.json

{
  "log-driver":"json-file",
  "log-opts": {"max-size":"100m", "max-file":"3"}
}

max-size=100m,一个容器日志大小上限是100M, max-file=3,一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。

4、启动Docker systemctl daemon-reload #重新加载unit systemctl start docker #启动Docker systemctl enable docker.service #设置开机自启

5、验证 systemctl status docker #查看Docker状态 docker -v #查看Docker版本

从现有开发环境中导出镜像到其它环境部署 查看镜像docker images 开发环境导出: docker save -o nginx.tar nginx:latest 目标服务器上导入: docker load -i nginx.tar

创建固定ip容器(先创建名为docker-br0网络)

docker network create --subnet=172.18.0.0/24 docker-br0

运行镜像,docker run 后的参数根据自身需求设置

docker run -e "TZ=Asia/Shanghai" -e "ASPNETCORE_ENVIRONMENT=Staging" -d --name=projectapi --network docker-br0 --ip 172.18.0.36 -p 5001:80 --restart=always projectapi

解决错误,

docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused "write /proc/self/attr/keycreate: permission denied"": unknown.

修改文件配置后重启

vi /etc/selinux/config

SELINUX=enforcing
改为
SELINUX=disabled

查看并检查容器docker ps -a,删除了重新run镜像成功。 进入容器

docker exec -it 容器id /bin/bash
经验分享 程序员 微信小程序 职场和发展