docker 项目部署

链接工具 Xshell6 java

sudo bash :进入管理员模式node

cd / :进入根目录     ls :查看目录结构git

mkdir build<自定义文件名> : 建立项目构建目录web

  1. 更新代码到服务器

首次clone项目到服务器:docker

H1-serviceshell

1). git clone –b latest(分支名)  <项目git地址>npm

2). 输入git用户名bash

3).用户密码服务器

 

 

RH3-serviceapp

1). git clone –b latest(分支名)  <项目git地址>

2).输入git用户名

3).用户密码

 

更新代码: git pull 输入用户名密码

 

 

2.打包:

cd h1_services/ :进入项目在pom.xml 同级目录下执行

mvn clean ,

mvn package ,

mvn install

 

每一个项目中出现target文件,内含运行jar包

 

 

cd rh3_services/ :进入项目在pom.xml 同级目录下执行

mvn package

 

3.构建rh3项目本地docker 镜像

 

进入到项目Dockerfile文件同级目录

 

docker build -t rh3-service<镜像名称> ./

 

docker images :查看镜像列表

 

Dockerfile:

FROM ***/java-jre<基础镜像地址>

ADD ./target/rh3-service.jar<项目jar包地址> /app/<容器存放jar目录>

CMD ["java", "-Xmx2000m", "-jar", "/app/rh3-service.jar"] <运行参数>

EXPOSE 11001<项目端口号>

 

4.启动服务

cd /opt/rh3-services:  进入启动管理文件

ls –a : 查看所有文件

vi .env  :编辑新增环境变量

/opt/config:配置文件管理文件夹,新增的yml文件上传到这里

./start.sh dev :启动服务

5.查看启动状态

docker ps -a :查看所有容器状态

docker logs -f 容器名 --tail 200 :动态查看近200条日志查看启动情况

 

 

注:镜像或容器建立失败 能够执行如下命令删除

docker ps –a : 查看所有容器服务

docker stop 容器ID : 中止容器

docker rm 容器ID:删除容器

docker images : 查看所有镜像

docker rmi 镜像ID :删除镜像

 

建立UI部署docker镜像

Git clone web项目文件到服务器

一、  构建基础镜像

Dockerfile

FROM ***/node10

-angular-version

WORKDIR /opt

ARG parameter

ADD ./${parameter} /opt/our/

WORKDIR /opt/our

RUN apt-get update && npm install

#RUN npm cache clean –f

CMD ng serve --host 0.0.0.0 --port 4200 --prod

CMD node --max_old_space_size=2048 ./node_modules/@angular/cli/bin/ng serve --host 0.0.0.0 --port 4200 –prod

 

docker build --build-arg parameter=labelSystem<ui项目文件夹> -t 镜像名称 ./

eg:docker build --build-arg parameter=labelSystem -t $LABELUI_IMAGE ./label_ui

 

  1. 构建数据卷(UI代码)

Dockerfile

FROM debian:wheezy

ARG parameter

ADD ./${parameter}/src/ /opt/our/src/

 

docker build --build-arg parameter=labelSystem<ui项目文件夹> -t 数据卷镜像名称 ./

 

基础镜像只须要构建一次 数据卷每次代码更新需重新构建

 

  1. 启动文件管理

docker-compose.yml 文件编写

 

version: '2'<版本号目前仅支持2>

services:

  ecg-data:<数据卷名称>

    image: ***/angular-ecg-doctor-data

    container_name: ecg-doctor-data

    volumes:

    - /opt/our/src/

  ecg-node:<基础镜像名称>

    env_file:

    - .env

    image: ***/angular-ecg-base

    container_name: ecg-doctor-$MARK_NAME

    volumes_from:

    - ecg-data<依赖数据卷>

    volumes:

    - ./common.config.ts:/opt/our/src/app/@core/data/common.config.ts

    ports:

    - $ECG_NODE_PORT:4200<端口号>

    restart: always

    privileged: true

    environment:

- TZ=Asia/Shanghai

 

docker-compose up –d :启动服务