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