跳转至

Docker环境准备

1. 说明

​ 关于Docker,可以参考Docker官网的介绍、文档。

​ 通过Docker部署有度即时通服务器,可以使升级和运维变得更容易。

​ 我们强烈推荐管理员使用Docker版的有度服务端,有以下优势:

  • 便利:安装升级非常容易,基本5分钟完成,部署不再成为问题。
  • 高效:容器对系统的利用率极高,开销较低,用更少的资源做更多的事情,性能提升优秀。
  • 一致:所有基于同一个镜像的容器,运行环境一致,基本不会再出现A环境复现,B环境没复现的现象,有利于快速定位解决问题。

2. 系统建议

  • 支持国产化系统,例如统信UOS、银河麒麟、中标麒麟、Deepin。
  • Ubuntu 18.04 LTS、CentOS 7.6及以上版本。
  • 更多信息,可以参考:https://docs.docker.com/engine/install

3. Docker Engine在线安装

curl -fsSL https://get.docker.com | sudo bash -s docker --mirror Aliyun
sudo systemctl enable docker && \
sudo systemctl start docker && \
sudo systemctl status docker

4. Docker Engine离线安装

4.1 下载压缩包

可以上传至/tmp目录。

下载地址:https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-20.10.2.tgz

wget https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-20.10.2.tgz

4.2 解压压缩包

tar xvf docker-20.10.2.tgz -C /tmp

4.3 移动二进制文件至/usr/bin目录

sudo mv /tmp/docker/* /usr/bin/

4.4 关闭SELinux

sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config

4.5 设置服务

cat <<eof|sudo tee /etc/systemd/system/docker.service
[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=notify
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock
ExecReload=/bin/kill -s HUP \$MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target
eof

4.6 设置服务自启并启动

sudo systemctl enable docker && \
sudo systemctl start docker && \
sudo systemctl status docker

5. 允许非root用户执行docker

​ 如果您的系统用户非root,您可能需要将当前用户添加至sudo组,使用docker命令前加sudo。或者将当前用户添加到docker组,即可直接使用docker命令。

sudo groupadd docker
sudo usermod -aG docker $USER

重新登录终端生效,否则可能提示”permission denied“,如果仍然提示可以重启系统。

6. 测试Docker

docker info

7.设置加速器(可选)

如果外网拉取镜像较慢,可以考虑设置阿里云加速器。

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://vm28mo38.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload && sudo systemctl restart docker