docker问题记录

时间:2022-07-22
本文章向大家介绍docker问题记录,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

修改docker的数据目录

方法一

修改/usr/lib/systemd/system/docker.service

cat /usr/lib/systemd/system/docker.service 

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph /data/docker

方法二

修改/etc/docker/daemon.json

vim /etc/docker/daemon.json
{
    "graph": "/data/docker"
}

修改完重启

systemctl daemon-reload
systemctl restart docker

制作镜像时报无法解析

Calculating upgrade… 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Err:1 http://mirrors.aliyun.com/debian stretch InRelease Temporary failure resolving ‘mirrors.aliyun.com’ Err:2 http://mirrors.aliyun.com/debian-security stretch/updates InRelease Temporary failure resolving ‘mirrors.aliyun.com’ Err:3 http://mirrors.aliyun.com/debian stretch-updates InRelease Temporary failure resolving ‘mirrors.aliyun.com’

解决办法:设置DNS

# cat /usr/lib/systemd/system/docker.service 
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
BindsTo=containerd.service
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket

[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
EnvironmentFile=-/etc/default/docker    #添加这一行
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s

# 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

# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
TasksMax=infinity

# 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

[Install]
WantedBy=multi-user.target

设置DNS

cat /etc/default/docker 
DOCKER_OPTS=”–dns 8.8.8.8 –dns 8.8.4.4″

重启docker

systemctl daemon-reload
systemctl restart docker