🐳 Docker + SSH 环境安装与配置指南

10 阅读1分钟

1️⃣ 修改 SSH 配置(允许 root 登录)

❌ root 登录失败?

编辑配置文件:
vim /etc/ssh/sshd_config

修改以下参数:
PermitRootLogin yes
PasswordAuthentication yes

重启 SSH 服务:
sudo systemctl restart ssh

2️⃣ 下载相关软件

# Docker 下载地址
https://download.docker.com/linux/static/stable/x86_64/

# Docker Compose 下载地址
https://github.com/docker/compose/releases

3️⃣ 配置 Docker Compose

# 移动文件并赋予执行权限
mv docker-compose /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

# 查看版本
docker-compose version

4️⃣ 配置 Docker

# 解压
tar -zxvf docker-29.2.0.tgz

# 移动二进制文件
mv docker/* /usr/bin/

# 创建 docker 用户组
sudo groupadd docker

# 当前用户加入 docker 组
sudo usermod -aG docker $USER

# 查看版本
docker --version

5️⃣ 配置系统服务(systemd)

5.1 docker.service

sudo tee /etc/systemd/system/docker.service > /dev/null <<'EOF'
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
RestartSec=2
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target
EOF

5.2 containerd.service

sudo tee /etc/systemd/system/containerd.service > /dev/null <<'EOF'
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target

[Service]
ExecStart=/usr/bin/containerd
Restart=always
RestartSec=5
Delegate=yes
KillMode=process

[Install]
WantedBy=multi-user.target
EOF

6️⃣ 启动并设置开机自启

# 重新加载 systemd
sudo systemctl daemon-reload

# 启动 containerd
sudo systemctl enable containerd.service
sudo systemctl start containerd.service

# 启动 docker
sudo systemctl enable docker.service
sudo systemctl start docker.service

7️⃣ 配置 Docker 镜像加速(daemon.json)

vim /etc/docker/daemon.json
{
  "data-root": "/www/docker/data",
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  },
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run",
    "https://docker.1panel.live",
    "https://docker.nju.edu.cn",
    "https://docker.m.daocloud.io"
  ]
}

# 补充说明:修改daemon.json后需要重新启动docker服务
# systemctl daemon-reload
# systemctl restart docker.service

8️⃣ 验证安装

docker pull mysql:5.7.44