# DevOps 容器镜像构建

# 部署包准备

获取 DevOps War 包,并将 War 包解压重新打成 Tar 包。

unzip devops.war -d devops-war/
cd devops-war/ && tar -cvf devops.tar ./* && mv devops.tar ../ && cd .. && rm -rf devops-war

# 文件准备

  • 新建一个文件夹 build,并将以下文件放到该文件夹中

    文件 说明
    devops.tar DevOps 的部署包
    mysql-connector-java-5.1.40.jar MySQL 的 JDBC 驱动包
    c3p0-0.9.0.jar C3P0 数据库连接池
    Dockerfile 构建 DevOps 镜像的文本文件
  • 编辑 Dockerfile 文件内容

    FROM tomcat:8.5.87-jdk8-corretto
    
    MAINTAINER www.primeton.com
    
    ENV DEVOPS_VERSION=6.3.0.0 \
        DEVOPS_PORT=8080 \
        DEVOPS_ROOT_PATH=ROOT \
        DEVOPS_WORK_ROOT=${CATALINA_HOME}/_work_ROOT_6200
    
    ADD devops.tar ${CATALINA_HOME}/webapps/${DEVOPS_ROOT_PATH}/
    COPY mysql-connector-java-5.1.40.jar ${CATALINA_HOME}/lib/
    COPY c3p0-0.9.0.jar ${CATALINA_HOME}/lib/
    
    EXPOSE ${DEVOPS_PORT}
    
    VOLUME ["${DEVOPS_WORK_ROOT}"]
    

# 镜像构建

进入 build 文件夹,执行镜像构建命令:

cd build/
docker build -t primeton/devops:6.3.0.0-GA .

devops-container-image-build

# 运行容器

docker run -p 43210:8080 \
 --name devops-6300-GA \
 --env JAVA_OPTS="-server -Xms2048m -Xmx2048m -Ddb.url='jdbc:mysql://localhost/devops?characterEncoding=UTF-8&useSSL=false' -Ddb.userName='root' -Ddb.password='password'" \
 -v $PWD/primetonlicense.xml:/usr/local/tomcat/webapps/ROOT/WEB-INF/_srv/primetonlicense.xml \
 -v $PWD/data:/usr/local/tomcat/_work_ROOT_6200 \
 -d \
 primeton/devops:6.3.0.0-GA

run-devops-container-image

上次更新: 2023-4-13 15:18:48