.net core程式釋出到Docker
阿新 • • 發佈:2021-11-19
近日,領導要求把目前的.net core程式釋出到Docker上,於是基於之前的學習然後摸著石頭過河,特別把重要的核心內容記錄一下。
1.埠
閘道器:13021
API:13022
WEB:13023
2.Dockerfile
2.1前端web
FROM 192.168.103.136/library/gd/angular:5.2 AS base
WORKDIR /app
EXPOSE 80
COPY . /app
COPY ./nginx.conf /etc/nginx
RUN rm -rf /app/nginx.conf
2.2GDNP
FROM 192.168.103.136/library/gd/dotnet/aspnet:2.2 AS base # FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base WORKDIR /app EXPOSE 80 COPY . /app ENTRYPOINT ["dotnet", "GD.NP.ServicesHost.dll"]
2.3API
FROM 192.168.103.136/library/gd/dotnet/aspnet:2.2 AS base
# FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
COPY . /app
ENTRYPOINT ["dotnet", "BDCQYTB.Server.ServicesHost.dll"]
3.釋出
2.1前端web
-
構建映象
# 需要進入到目錄:/usr/src/gdsoft/10002_bdcqytb/QYTB_WEB docker build -t qytb_web .
-
建立容器
docker run -d -p 03023:80 --name qytb_web qytb_web
-
瀏覽器輸入地址測試:http://192.168.103.140:03023/
-
刪除所有
docker rm -f qytb_web docker rmi qytb_web
2.2GDNP
-
構建映象
# 需要進入到目錄:/usr/src/gdsoft/10002_bdcqytb/QYTB_GDNP docker build -t qytb_gdnp .
-
建立容器
docker run -d -p 03021:80 --name qytb_gdnp qytb_gdnp -v /etc/localtime:/etc/localtime -e TZ=Asia/Shanghai
-
瀏覽器輸入地址測試:http://192.168.103.140:03021/
-
刪除所有
docker rm -f qytb_gdnp docker rmi qytb_gdnp
2.3API
-
構建映象
# 需要進入到目錄:/usr/src/gdsoft/10002_bdcqytb/QYTB_API docker build -t qytb_api .
-
建立容器
docker run -d -p 03022:80 --name qytb_api qytb_api -v /etc/localtime:/etc/localtime -e TZ=Asia/Shanghai docker run -d -p 03022:80 --rm --privileged --name qytb_api qytb_api
-
瀏覽器輸入地址測試:http://192.168.103.140:03022/
-
刪除所有
docker rm -f qytb_api docker rmi qytb_api
YAML檔案
version: '3'
services:
# 應用閘道器配置
qytb_gdnp:
build: ./QYTB_GDNP
container_name: qytb_gdnp
restart: always
ports:
- 13021:80
network_mode: bridge
# 業務API配置
qytb_api:
build: ./QYTB_API
container_name: qytb_api
restart: always
ports:
- 13022:80
network_mode: bridge
# 業務網站配置
qytb_web:
build: ./QYTB_WEB
container_name: qytb_web
restart: always
ports:
- 13023:80
network_mode: bridge
4.備註
4.1常用命令和引數
- Linux地址:192.168.103.140
- 基礎研發部搭建的dockerhub:https://192.168.103.136/
- 檔案存放路徑:/usr/src/gdsoft/10002_bdcqytb
- nginx路徑:/etc/nginx/nginx.conf
- 刪除容器:docker rm -f qytb_web
- 刪除映象:docker rmi qytb_web
- 進入容器:docker exec -it qytb_web /bin/bash
4.2防火牆開啟埠
# 宿主機開啟埠
firewall-cmd --permanent --zone=public --add-port=13021/tcp
firewall-cmd --permanent --zone=public --add-port=13022/tcp
firewall-cmd --permanent --zone=public --add-port=13023/tcp
firewall-cmd --reload
4.3產品編號
全豫通辦辦理:03020 qytb
司法查控總對總:03021 sfckzdz
稅務總對總:03022 swzdz
動態質量監管系統:03023 bdcdjsjdtjgxt
4.4DockerCompose
- docker-compose up 建立映象、建立容器、啟動容器
- docker-compose up -d 建立映象、建立容器、啟動容器(後臺)
- docker-compose ps 列出專案中目前所有的容器
- docker-compose start 啟動已經存在的服務容器
- docker-compose stop 停止正在執行的容器,可以通過docker-compose start 再次啟動
- docker-compose down 停止和刪除容器、網路、卷、映象