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 :啓動服務

相關文章
相關標籤/搜索