0.背景
安装docker
# 安装yum-utils
yum install -y yum-utils
# 配置国内源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum install -y docker-ce docker-ce-cli containerd.io --nobest
# 查看docker版本
docker -v
# 上方输出
# Docker version 20.10.12, build e91ed57
# 启动docker
systemctl start docker
1.安装
1.1 查找镜像
# 查找镜像仓库
docker search portainer
这个显眼的中文直接引起了我的注意
1.2 拉取镜像
# 拉取镜像
docker pull 6053537/portainer
1.3 查看镜像及启动
# 查看镜像列表
docker images
# 上方输出
REPOSITORY TAG IMAGE ID CREATED SIZE
6053537/portainer latest 7f796122a798 3 months ago 85.5MB
# 启动
docker run -d -p 9000:9000 \
-v /root/portainer:/data \
-v /var/run/docker.sock:/var/run/docker.sock \
--name yang-portainer \
6053537/portainer
参数说明
#容器在后台运行
-d
# 宿主机9000端口映射容器中的9000端口
-p 9000:9000
# 把宿主机的Docker守护进程(docker daemon)默认监听的Unix域套接字挂载到容器中,
-v /var/run/docker.sock:/var/run/docker.sock
# 把宿主机目录/root/portainer挂载到容器/data 目录,宿主机就是服务器,容器就是docker里面这个portainer
-v /root/portainer:/data
# 指定运行容器的名称
–name yang-portainer
1.4 查看日志
# 查看所有容器
docker ps -a
# 上方输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc7fc22d8c81 6053537/portainer "/portainer" 19 minutes ago Up 13 minutes 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp yang-portainer
# 看cc7fc22d8c81这个容器的日志
docker logs --details cc7fc22d8c81
1.5 访问
ip:9000访问页面,选local,即管理宿主机的docker。
第一次会让你设置密码,记得放防火墙。
2.管理远端
2.1 远端配置
前面装好了portainer的服务器叫A,现在管理远端服务器B,B也要安装docker。
# 编辑docker服务文件
vim /usr/lib/systemd/system/docker.service
# ExecStart项后面追加,端口自定义,我用的9500。
# -H tcp://0.0.0.0:9500
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:9500
这里你可以改成自己的ip,记得放防火墙,我这里9500端口加了A服务器的ip白名单。
# 刷新刚才的service配置
systemctl daemon-reload
# 启动或重启docker
systemctl start docker
systemctl restart docker
# 查看docker服务的状态
systemctl status docker
图里最后一行可以看到在监听9500端口了
2.2 连接远端
回到我们服务器A的后管页面。
端点、添加端点
回到首页就可以看到信息,下线了的话绿色的up就会变成红色的dwn。