Ubuntu 安装docker,并配置统一管理
·
Add Docker’s official GPG key:
- 更新包管理器
sudo apt update
- 安装必要的基础包
sudo apt install ca-certificates curl
- 创建密钥环目录
sudo install -m 0755 -d /etc/apt/keyrings
- 下载 Docker 官方 GPG 公钥
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
可能会出现Unable to establish SSL connection,则从其它源下载,如阿里云镜像源。
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg -o gpg
再移动到正确位置。
sudo mv gpg /etc/apt/keyrings/docker.asc
- 设置密钥文件权限
sudo chmod a+r /etc/apt/keyrings/docker.asc
Add the repository to Apt sources:
- 为 Ubuntu 系统添加 Docker 的官方 APT 软件源
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
- 再次更新
sudo apt update
- 安装docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 查看状态
sudo systemctl status docker
- 测试
拉取镜像。
sudo docker pull hello-world
若失败,则更换源。下面的代码会覆盖原文件内容,如docker日志轮转配置。
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
EOF
或者使用下面的内容,添加了docker日志的轮转配置。
{
"log-driver": "json-file",
"log-opts": {
"max-size": "4.5m",
"max-file": "3"
},
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
并更新状态。
sudo systemctl daemon-reload
sudo systemctl restart docker
重新拉取,并部署sudo docker run hello-world。
管理UI:
主节点部署管理服务
- 下载镜像portainer
sudo docker pull portainer/portainer
- 部署需要的数据库(可跳过,后续命令会自动创建)
sudo docker volume create portainer_data
- 部署服务
sudo docker run -d -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -e PORTAINER_AUTH_TIMEOUT=60 portainer/portainer:latest
-v /var/run/docker.sock:/var/run/docker.sock,这是 Docker 的"控制面板"接口文件,相当于把主机的 Docker 控制权交给了容器。-v portainer_data:/data,将卷portainer_data挂载在容器内的/data目录上。-e PORTAINER_AUTH_TIMEOUT=60是一个环境变量,它专门用于配置 Portainer 的安全初始化超时时间。
从节点部署代管理服务
sudo docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:2.16.2
主节点导入从节点的代理,进行管理

Name随便写,address为从节点ip:9001。

更多推荐

所有评论(0)