离线安装docker
一、基础环境
1、下载docker:https://download.docker.com/linux/static/stable/x86_64/
2、网络正常得情况下直接yum install docker-ce
二、Docker安装
1、将下载好的docker上传到服务器上
2、解压
tar -xvf docker-18.06.1-ce.tgz
3、将解压出来的docker文件内容拷贝到 /usr/bin/ 目录下
cp docker/* /usr/bin/
4、将docker注册为service
vim /etc/systemd/system/docker.service
将下列配置加到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
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
5、启动
chmod +x /etc/systemd/system/docker.service #添加文件权限并启动docker
systemctl daemon-reload #重载unit配置文件
systemctl start docker #启动Docker
systemctl enable docker.service #设置开机自启
6、验证
systemctl status docker #查看Docker状态
docker -v #查看Docker版本
docker load导入镜像报错:
open /opt/docker/installation/docker/tmp/docker-import-429515006/docker-images/json: no such file or director
原因:下载的tar包缺少一些json文件
解决办法:
cat mysql5.7.19.tar | docker import - mysql5.7.19
docker images就可以看到已经成功导入了
开通docker2375端口
1、新建daemon,json文件
vi /etc/docker/daemon.json
2、保存配置
{
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"1"},
"hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
}
3、重启docker守护进程
# systemctl daemon-reload
# systemctl restart docker
docker日志迁移方案
1、停止docker服务
systemctl stop docker
2、创建存放docker的日志文件
分别在此路径/opt/docker
mkdir images
mkdir installation
3、vi clean_docker_logs.sh
#!/bin/sh
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs : $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"
4、将原docker下的文件拷贝到新创建的目录下
cp -a /var/lib/docker /opt/docker/installation/docker
5、移动文件
mv -u /var/lib/docker /var/lib/docker.bak
6、建立软连接
ln -fs /opt/docker/installation/docker /var/lib/docker
7、重启docker
systemctl start docker.service
网友评论