Centos7安装Docker并图形化管理

docker是目前应用最广泛的容器技术,部署应用方便快速,同时特别容易管理,所以非常重要,特此写个教程记录。

由于docker的服务器在海外,如果安装出现什么异常问题请先解决网络问题。


一、环境配置

1-1.换系统源(这里使用的是自动化脚本)

bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)

Tips:顺带关闭了SElinux和防火墙

1-2.安装常用程序

yum install -y wget vim bash-completion

Tips:安装完成后重启一下系统。

1-3.Docker安装

wget -qO- https://get.docker.com/ | sh

1-4.开启并设置docker开机自启动

systemctl start docker.service && systemctl enable docker.service && systemctl status docker.service

二、容器部署

在安装容器之前前说一下思路;

nginx-proxy-manager-zh是一个NGINX反向代理容器,可以反向代理网站和申请SSL证书以及管理证书用;

portainer是一个简化管理docker的WebUI页面;

用户的所有流量请求都经过nginx-proxy-manager-zh反向代理到portainer和后面将要创建的容器上,这样既可以统一管理证书,又避免了各种服务暴露不必要端口在公网的风险,所以我要这么安装。容器之间只需要相互解析主机名即可相互通信,也就是docker的容器名称。

2-1.创建容器:nginx-proxy-manager-zh

2-1-1.在安装之前,先查看docker网络列表,防止冲突。

docker network ls
  • 如果只显示bridge、host、none三种网络类型则表示环境干净,可以继续操作。

2-1-2.创建一个名字叫 internal 的docker网络。

docker network create internal

2-1-3.创建nginx-proxy-manager-zh容器服务

docker run -d \
  --name nginx-proxy-manager-zh \
  --restart always \
  --network internal \
  -p 80:80 \
  -p 81:81 \
  -p 443:443 \
  -v /home/docker/nginx-proxy-manager-zh/data:/data \
  -v /home/docker/nginx-proxy-manager-zh/letsencrypt:/etc/letsencrypt \
  chishin/nginx-proxy-manager-zh

2-1-4.容器nginx-proxy-manager-zh的访问参数

http://IP:81
Email:admin@example.com
Password:changeme

2-1-5.如果可以成功打开此网页则代表部署成功。

2.创建容器:portainer

2-1.创建portainer

docker run -d \
  --name portainer \
  --restart always \
  --network internal \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /home/docker/portainer/data:/data \
  6053537/portainer-ce

2-2.默认portainer的访问地址为IP:9000,但是本次部署是NGINX反向代理过去,所以需要进入nginx-proxy-manager-zh这个管理页面添加主机名和9000端口,然后使用设置的IP或者域名访问即可。

2-3.如果可以正常访问即部署完成。


后续如果需要部署新的容器或者堆栈,可以用主机名相互通信。

end…