docker 項目部署


連接工具 Xshell6

sudo bash :進入管理員模式

cd / :進入根目錄     ls :查看目錄結構

mkdir build<自定義文件名> : 創建項目構建目錄

  1. 更新代碼到服務器

首次clone項目到服務器:

H1-service

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

2). 輸入git用戶名

3).用戶密碼

 

 

RH3-service

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項目文件到服務器

1、  構建基礎鏡像

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM