河南机关事务局环境

远程服务器地址 10.14.154.242
镜像服务器地址 10.14.154.225 (ctrimages.iisp.net)
容器管理服务器地址 10.14.154.245 (acloud.iisp.net)
容器服务器地址 10.14.154.233 (worker01)
10.14.154.140 (worker02)
10.14.154.228 (worker03)
10.14.154.218 (worker04)
所有服务器远程(ssh)密码都是 Hzsun@310012
外部存储地址在容器服务器(每一台都可以)的/storage/persistent/unisite-product目录下
venue_config 后台服务器配置文件
venue_logs 后台服务日志
venue_files 后台服务存储目录
web_dist 网站目录

生成,导出需要的镜像
  • 正元的镜像库一般都是在内网,无法访问外网,

  • 需要注意镜像使用的环境是amd64,还是arm64

  • 目前使用的独立镜像包括redis,rabbitmq

  • 需要生成的镜像包括后台服务和网站两个镜像

  • 镜像的生成主要是配置Dockfile文件
    – 后台服务

      FROM docker.m.daocloud.io/openjdk:11-jdk-slim-buster
    
      WORKDIR /usr/local/venue-parent
    
      ADD venue-bootstrap-1.0.0.jar /usr/local/venue-parent/venue-bootstrap-1.0.0.jar
      ADD application.yml /usr/local/venue-parent/application.yml
      ADD application-prod.yml /usr/local/venue-parent/application-prod.yml
    
      ENV DATASOURCE_URL=""
      ENV DATASOURCE_USERNAME=""
      ENV DATASOURCE_PASSWORD=""
    
      ENV REDIS_HOST="127.0.0.1"
      ENV REDIS_PORT="6379"
      ENV REDIS_PASSOWRD=""
    
      ENV RABBITMQ_HOST="127.0.0.1"
      ENV RABBITMQ_PORT="5672"
      ENV RABBITMQ_USERNAME=""
      ENV RABBITMQ_PASSWORD=""
      ENV RABBITMQ_ADDRESSES="127.0.0.1:5672"
    
      CMD ["java", "-Xms256m","-Xmx512m","-jar","/usr/local/venue-parent/venue-bootstrap-1.0.0.jar"]

    – 网站

      FROM docker.m.daocloud.io/nginx
    
      #RUN rm -f /etc/localtime \
      #&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
      #&& echo "Asia/Shanghai" > /etc/timezone
    
      COPY ./dist /usr/share/nginx/html/
      COPY ./nginx.conf.template /etc/nginx/nginx.conf.template
    
      ENV VENUE_URL="127.0.0.1:8004"
    
      EXPOSE 80 443
      #ENTRYPOINT ["sh", "-c", "envsubst '$VENUE_URL' < /etc/nginx/nginx.conf > /etc/nginx/nginx.conf && cat /etc/nginx/nginx.conf && nginx -g 'daemon off;'"]
      #ENTRYPOINT ["nginx", "-g", "daemon off;"]
  • 生成镜像

      # 生成镜像
       docker build -f ./Dockfile -t unifound-venue .
       # 生成arm64镜像,Dockfile中的基础镜像也必须时arm64的
       docker buildx build --platform linux/arm64 -f ./Dockfile -t unifound-venue .
  • 导出镜像

      docker save -o unifound-venue.tar unifound-venue:latest
导入伶云镜像服务器
  • 一般远程的服务器和伶云镜像服务器不在一台设备上,需要通过scp命令复制到伶云镜像服务器上
  • 导入镜像库(可以在伶云镜像服务器上,也可以在和伶云镜像服务器有网络连接的独立docker计算机上)
      docker load -i unifound-venue.tar
  • 推送到伶云镜像服务器
      docker tag unifoud-venue ctrimages.iisp.net/unsite/unifound-venue:1.0.1
      docker push ctrimages.iisp.net/unsite/unifound-venue:1.0.1
容器管理(部署镜像)
  • 正元采用的是Rancher容器管理器
  • 整个容器管理,包括运行Rancher的主设备,和多个节点服务器(运行具体容器)
  • 创建项目
  • 创建命名空间(一个项目中可以有多个命名空间,一个命名空间中部署的容器可以通过clusterip进行访问)
  • 创建存储
    – 创建持久卷声明(PV)

    – 创建持久卷(PV)
  • 部署容器(在工作负载/Deployments下)


    – 名称
    – 容器名称
    – 容器镜像(伶云服务器中镜像的地址和tag)
    – 端口(ClusterIP容器间,可以直接通过“容器名”.“命名空间”访问)

    – 环境变量(注意变量名称不要出错)

    – 命令
    对于redis需要特定的命令,用于修改访问密码
    – 卷声明(把容器中的必要目录镜像到主机中,方便持久访问)
    先到Pod中进行配置卷名称

    然后再到容器的存储也选择卷(挂载点是值容器中的路径)

    – 保存后生效
其他名称
  • Linux服务器之间文件复制
      #复制当前服务器的文件(srcfile)到目标服务器(dst_ip)的目标路径(
      scp srcfile root@dst_ip:/dst_path
      #复制远端服务器(src_ip)的源文件(src_file)到本地文件(dstfile)
      scp root@src_ip:/src_file dstfile
  • Docker 命令
    – 列出当前镜像
      docker images
    – 删除镜像
      docker rmi images_id
    – 列出当前运行的容器
      kubectl get pods -n site-product

– 删除容器
– 查看容器日志
kubectl logs
– 进入容器

文档更新时间: 2025-12-18 13:18   作者:方杰