Docker自动安装方式
Docker 提供了一个自动配置与安装的脚本,支持 Debian、RHEL、SUSE 系列及衍生系统的安装。
以下内容假定:
使用 root 用户,或有 sudo 权限,或知道 root 密码;
系统上有 curl 或 wget
export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce" # 如您使用 curl curl -fsSL https://get.docker.com/ | sh # 如您使用 wget wget -O- https://get.docker.com/ | sh
Debian/Ubuntu/Raspbian 用户
以下内容根据 官方文档 修改而来。
如果你过去安装过 docker,先删掉:
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do apt-get remove $pkg; done
首先安装依赖:
apt update apt install ca-certificates curl gnupg
信任 Docker 的 GPG 公钥并添加仓库:
发行版
Debian
install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpgecho \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null
最后安装
apt update apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose
此时安装的docker-compose很可能是旧版本1.29
可以使用github上发布的最新的官方版本docker compose v2
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose 或者 curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/libexec/docker/cli-plugins/docker-compose #速度过慢可以考虑挂上自己部署的http代理 curl -L --proxy 192.168.5.201:9051 https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose 或者 curl -L --proxy 192.168.5.201:9051 https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/libexec/docker/cli-plugins/docker-compose #赋予可执行权限 chmod +x /usr/local/bin/docker-compose 或者 chmod +x /usr/libexec/docker/cli-plugins/docker-compose #也可以手动下载改名后拷贝到以下路径 /usr/local/lib/docker/cli-plugins OR /usr/local/libexec/docker/cli-plugins /usr/lib/docker/cli-plugins OR /usr/libexec/docker/cli-plugins 查看docker-compose版本号 docker-compose version 查看docker compose v2的版本号 docker compose version
修改 Docker 配置
以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘。
cat > /etc/docker/daemon.json <<EOF { "log-driver": "json-file", "log-opts": { "max-size": "20m", "max-file": "3" }, "ipv6": true, "fixed-cidr-v6": "fd00:dead:beef:c0::/80", "experimental":true, "ip6tables":true } EOF
然后重启docker服务
systemctl restart docker
Portainer的安装与汉化
使用docker compose的方式部署,方便后续直接更新容器
cd /zfs/backups/docker/portaine nano compose.yml
compose.yml内容
version: "3" services: portainer: image: portainer/portainer-ce restart: always ports: - 8000:8000 - 9443:9443 volumes: - /var/run/docker.sock:/var/run/docker.sock - /zfs/backups/docker/portainer/portainer_data:/data networks: local: driver: bridge
创建容器数据持久化的文件夹
mkdir /zfs/backups/docker/portainer/portainer_data
在后台运行docker compose容器
docker compose up -d
汉化Portainer
到该网址下载独立的汉化包
或者单击这里下载portainer-ce-public-cn-20221227.zip
上传压缩包到linux上并解压到portainer容器数据持久化的目录下
/zfs/backups/docker/portainer/portainer_data/public/
修改portainer的compose.yml文件为如下内容
把汉化包的路径加进去,并做持久化,后续更新portainer容器就不需要做重复的汉化工作,除非碰到大版本更新汉化包不可用。
version: "3" services: portainer: image: portainer/portainer-ce restart: always ports: - 8000:8000 - 9443:9443 volumes: - /var/run/docker.sock:/var/run/docker.sock - /zfs/backups/docker/portainer/portainer_data:/data - /zfs/backups/docker/portainer/portainer_data/public:/public networks: local: driver: bridge