version: "3"
services:
xa2server_8922:
image: xa2_server-img:2.0
build:
context: .
dockerfile: Dockerfile
entrypoint: "dotnet","QWN.Web.Entry.dll"
ports:
- "8922:8922"
environment:
- ASPNETCORE_ENVIRONMENT=Production
volumes:
- .:/data/docker/app/kj_2/server2
working_dir: /data/docker/app/kj_2/server
network_mode: host
restart: on-failure
在生成和启动容器时,通过docker-compose up -d来后台启动生成容器并运行;
root@xa_2# cat startdockerrun-8922.sh
#!/bin/bash
定义需要监控的目录
MONITORED_DIR="/data/kj_2/agv_server"
BACKUP_DIR="/data/docker/app/kj_2/server"
DockerUpdateLog="DockerImageUpdate.log"
BACKUP_PDIR="/data/docker/app/kj_2"
MONITORED_PDIR="/data/kj_2"
echo "ready to start docker,ready to update docker image!"
echo "ready to start docker,ready to update docker image!" > $DockerUpdateLog
cd $BACKUP_DIR
docker stop svr-cont22
docker rm svr_cont22
docker rmi svr-img:1.0
docker build -t svr-img:1.0 .
docker run -d -p 8922:8921 --name svr-cont22 svr-img:1.0
docker update --restart=always svr-cont22
root@svr# cat Dockerfile
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /data/docker/app/xa_2/server
COPY . /data/docker/app/xa_2/server
ENV ASPNETCORE_URLS http://+:8921
EXPOSE 8921
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' > /etc/timezone
ENTRYPOINT "dotnet", "KJ.Web.Entry.dll"