anolis8.8 安装汉化版Portainer

一、安装docker和docker-compose

step 1: 下载二进制docker安装包

下载地址:https://download.docker.com/linux/static/stable/x86_64/

选择相应版本下载

Step 2: 上传二进制安装包到服务器

在这里插入图片描述

Step 3: 解压安装文件,并复制文件到/usr/bin

tar -zxvf docker-24.0.9.tgz
cp -p docker/* /usr/bin

Step 4: 将docker注册系统服务

vim /usr/lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd \
                -H tcp://0.0.0.0:4243 \
                -H unix:///var/run/docker.sock \
                --selinux-enabled=false \
                --log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target

Step 5:启动守护进程

systemctl daemon-reload
systemctl start docker

step 6: 设置docker开机自启

systemctl enable docker

step 7: 查看docker版本信息

docker version

step 8: 下载docker-compose,下载地址https://github.com/docker/compose/releases,将下载文件上传到服务器。

在这里插入图片描述

step 9: 将文件转移至/usr/local/bin/

mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

step 10: 修改文件权限

chmod +x /usr/local/bin/docker-compose

step 11: 查看docker-compose版本

docker-compose -v

step 12: 修改docker镜像的存储位置

默认目录为/var/lib/docker
修改为/docker
1、停止docker

systemctl stop docker

2、移动/var/lib/docker 到/docker

mv /var/lib/docker /

3、创建软链接

ln -s /docker /var/lib/docker

4、启动服务

systemctl start docker

5、查看存储信息

docker info

在这里插入图片描述

二、安装汉化版Portainer-ce

step 13: 拉去汉化镜像

docker pull 6053537/portainer-ce

step 14: 运行portainer

docker run -d --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /portainer_data:/data --restart always --privileged=true 6053537/portainer-ce:latest

三、Portainer基本操作

step 15:访问 portainer,首次访问需要设置一个12位密码

http://xx.xx.xx.xx:9000/
在这里插入图片描述

#图床logo
https://www.imgpp.com/s1/2022/12/22/dcde2b6635a588c7bfe0077055989a86.png

step 16:添加远程环境

1、使用agent方法,在节点上运行agent(docker安装步骤省略)

docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /docker/volumes:/var/lib/docker/volumes portainer/agent:latest

2、在portainer的环境中选择add Environments,选择docker standalone后启动向导,在向导中选择agent,填写name、Environment address,点击connect,连接成功后关闭向导。在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3、使用API方法,首先获取API端口,查看/usr/lib/systemd/system/docker.service,在环境向导中选择API,填写name、Docker API URL,点击连接,连接成功后关闭向导。
在这里插入图片描述
在这里插入图片描述

四、发布应用

step 17:创建堆栈

登录portainer控制台:选择环境–>堆栈Stacks–>添加堆栈,输入堆栈名称Name和yaml信息,最后部署堆栈。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

平台常用yaml

version: '3'
services:
  gdmp-db:
    image: postgres:latest
    restart: always
    environment:
      POSTGRES_PASSWORD: xxxxx
    volumes:
      - /apps/pgsql/5432/data:/var/lib/postgresql/data
      - /etc/localtime:/etc/localtime
    ports:
      - 5432:5432
  gdmp-app:
    user: root
    restart: always
    image:  tomcat:8.5.87-jdk8-corretto
    privileged: true
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 8001:8080
    volumes:
      - /apps/gdmp/tomcat_8001/webapps/:/usr/local/tomcat/webapps/
      - /apps/gdmp/tomcat_8001/conf:/usr/local/tomcat/conf
      - /apps/gdmp/tomcat_8001/logs:/usr/local/tomcat/logs
      - /apps/gdmp/tomcat_8001/bin:/usr/local/tomcat/bin
      - /apps/gdmp/tomcat_8001/bin/upload:/usr/local/tomcat/upload
      - /apps/gdmp/tomcat_8001/bin/tmp:/usr/local/tomcat/tmp
      - /root/.gdmp:/root/.gdmp
      - /etc/localtime:/etc/localtime
      - /usr/share/fonts/:/usr/share/fonts/

五、镜像构建

step 18:docker file

例1:

FROM tomcat:8.5.87-jdk8-corretto
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai"> /etc/timezone
RUN setenv.sh /usr/local/tomcat/bin 
RUN chmod 0755 usr/local/tomcat/bin/setenv.sh
RUN rm -rf /usr/local/tomcat/conf/server.xml
ADD server.xml/usr/local/tomcat/conf/server.xml
RUN chmod 0755 usr/local/tomcat/conf/server.xml
RUN mkdir /usr/local/tomcat/webapps/ROOT
ADD ROOT /usr/local/tomcat/webapps/ROOT
RUN mkdir /root/.gdmp
RUN chmod 0755 /root/.gdmp
ADD license.key /root/.gdmp
RUN chmod 0755 /root/.gdmp/license.key
RUN mkdir /usr/share/fonts/win
RUN mkdir /usr/share/fonts/win/Fonts
ADD Fonts /usr/share/fonts/win/Fonts
RUN fc-cache -fv

例2:

FROM alpine:3.18
WORKDIR /usr/local
ADD apache-tomcat-8.5.100.tar.gz .
ADD jdk-8u391-linux-x64.tar.gz .
COPY *.apk ./
RUN sed -i s#dl-cdn.alpinelinux.org#mirrors.aliyun.com#g /etc/apk/repositories \
        && apk add --allow-untrusted --no-cache tzdata glibc-i18n-2.35-r0.apk glibc-bin-2.35-r0.apk glibc-2.35-r0.apk || echo "忽略" \
        && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
        && rm -rf /lib/libc.musl-x86_64.so.1 \
        && ln -s /usr/glibc-compat/lib/ld-linux-x86-64.so.2 /lib/libc.musl-x86_64.so.1 \
        && rm -rf *.apk \
        && rm -rf /var/cache/apk/*
ENV JAVA_HOME=/usr/local/jdk1.8.0_391
ENV PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
ENV CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
EXPOSE 8080
CMD /usr/local/apache-tomcat-8.5.100/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.5.100/logs/catalina.out

例3:

FROM centos
ADD apache-tomcat-8.5.100.tar.gz /usr/local/
ADD jdk-8u391-linux-x64.tar.gz /usr/local/
RUN chmod -R 755 /usr/local/jdk1.8.0_391
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
ENV JAVA_HOME=/usr/local/jdk1.8.0_391
ENV PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
ENV CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
EXPOSE 8080
CMD /usr/local/apache-tomcat-8.5.100/bin/startup.sh && tail -f /usr/local/apache-tomcat-8.5.100/logs/catalina.out

六、本地仓库

step 19:创建本地仓库

创建仓库目录

mkdir -p /docker/registry

拉取仓库镜像

docker pull registry:latest

运行仓库容器

docker run -d -v /docker/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest

创建镜像加速文件(远程docker需要同样需要配置)

mkdir /etc/docker
vim /etc/docker/daemon.json 
{
  "insecure-registries": ["192.168.71.41:5000"],
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

重启docker

systemctl restart docker.service

获取本地镜像列表

curl -XGET http://192.168.1.60:5000/v2/_catalog

为镜像打标签

docker tag gdmp:latest 192.168.1.60:5000/gdmp:latest

推送镜像到本地仓库

docker push 192.168.1.60:5000/gdmp:latest

七、部署zabbix监控

step 20:创建专用于 Zabbix 组件容器的网络:

docker network create --subnet 172.21.0.0/16 --ip-range 172.21.240.0/20 zabbix-net
通过–ip-range参数告知Macvlan网络在子网中有哪些IP地址可以分配给容器。这些地址必须被保留,不能用于其他节点或者DHCP服务器,因为没有任何管理层功能来检查IP区域重合问题。
默认网络172.17.0.0/16

step 21:启动空的 PostgreSQL server 实例:

docker run --name postgres-server -t \
             -e POSTGRES_USER="zabbix" \
             -e POSTGRES_PASSWORD="Zabbix321" \
             -e POSTGRES_DB="zabbix" \
             --network=zabbix-net \
             --restart unless-stopped \
             -d postgres:latest
docker exec -t  postgres-server psql -U zabbix -c "CREATE USER grafana WITH PASSWORD 'Zabbix321';"
docker exec -t  postgres-server psql -U zabbix -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO grafana;"

step 22: 启动 Zabbix snmptraps 实例:

docker run --name zabbix-snmptraps -t \
             -v /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw \
             -v /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro \
             --network=zabbix-net \
             -p 162:1162/udp \
             --restart unless-stopped \
             -d zabbix/zabbix-snmptraps:latest

step 23:启动 Zabbix server 实例,并将其关联到已创建的 PostgreSQL server 实例:

docker run --name zabbix-server-pgsql -t \
             -e DB_SERVER_HOST="postgres-server" \
             -e POSTGRES_USER="zabbix" \
             -e POSTGRES_PASSWORD="Zabbix321" \
             -e POSTGRES_DB="zabbix" \
             -e ZBX_ENABLE_SNMP_TRAPS="true" \
             --network=zabbix-net \
             -p 10051:10051 \
             --volumes-from zabbix-snmptraps \
             --restart unless-stopped \
             -d zabbix/zabbix-server-pgsql:latest

step 24:启动 Zabbix Web 界面,并将其关联到已创建的 PostgreSQL server 和 Zabbix server 实例:

docker run --name zabbix-web-nginx-pgsql -t \
             -e ZBX_SERVER_HOST="zabbix-server-pgsql" \
             -e DB_SERVER_HOST="postgres-server" \
             -e POSTGRES_USER="zabbix" \
             -e POSTGRES_PASSWORD="Zabbix321" \
             -e POSTGRES_DB="zabbix" \
             --network=zabbix-net \
             -p 1443:8443 \
             -p 8080:8080 \
             -v /etc/ssl/nginx:/etc/ssl/nginx:ro \
             --restart unless-stopped \
             -d zabbix/zabbix-web-nginx-pgsql:latest
sudo docker logs zabbix-server-pgsql -f -n 222
sudo docker exec -it zabbix-server-pgsql bash
sudo docker restart zabbix-server-pgsql
sudo docker stop zabbix-server-pgsql
sudo docker start zabbix-server-pgsql

step 25:登录UI,设置语言

http://192.168.71.42:8080/
输入用户名 Admin 以及密码 zabbix
设置语言为中文
在这里插入图片描述
在这里插入图片描述

step 26:安装agent2

rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
dnf  install  -y zabbix-agent2 zabbix-agent2-plugin-* 
sed -i -e 's/Server=127.0.0.1/Server=192.168.71.42/g' -e 's/ServerActive=127.0.0.1/ServerActive=192.168.71.42/g' -e "/^Hostname=/c\#Hostname=Zabbix server" /etc/zabbix/zabbix_agent2.conf
systemctl restart zabbix-agent2
systemctl enable zabbix-agent2
tail -f /var/log/zabbix/zabbix_agent2.log

step 27:添加主机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
EOF

  • 23
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值