第一步安装:docker
yum install docker
查看版本: docker version
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
验证: docker run hello-world
docker自动启动设置:
systemctl enable docker.service
在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:
docker run --restart=always
第二步安装Redis
docker run -itd --name redis --restart=always -p 6379:6379 redis
第三步发布:
先配置程序运行的端口,端口的配置可以在这里写死也可以通过host文件配置,自行解决
第四步NetCore部署:
常用命令:
sudo docker pull microsoft/dotnet //从docker仓库拉取一个名称为“microsoft/dotnet”的镜像
sudo docker build light //构建一个名称为light的容器
sudo docker run hello-world //运行hello-world容器
sudo docker images //查看所有镜像
sudo docker rmi 63sf86332e //删除一个imageid的镜像
sudo docker rmi $(docker images -q) //删除所有镜像
sudo docker ps -a //查看所有容器
sudo docker rm 6f0c67de4b72 //删除一个containerid的容器
sudo docker rm $(sudo docker ps -a -q) //删除所有容器
1.制作镜像 Dockerfile
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
COPY . /app
WORKDIR /app
EXPOSE 9656
CMD ["dotnet", "JNPF.Api.dll"]
2.镜像文件上传到项目路径后运行:
docker build -t qysp-core .
3.docker run -d -p 9659:9659 --name qysp-prod qysp-core
docker run -d -p 9659:9659 --name qysp-prod qysp-core -e ASPNETCORE_ENVIRONMENT=Production
第四步安装与配置Nginx容器
#安装Nginx
提示
- /home/nginx/conf.d 用于存放配置文件
- /home/nginx/cert 用于存放 https 证书
- /home/nginx/html 用于存放网页文件
- /home/nginx/logs 用于存放日志
docker run -d \
--name nginx --restart always \
-p 80:80 -p 443:443 \
-e "TZ=Asia/Shanghai" \
-v /home/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf.d:/etc/nginx/conf.d \
-v /home/nginx/logs:/var/log/nginx \
-v /home/nginx/cert:/etc/nginx/cert \
-v /home/nginx/html:/usr/share/nginx/html \
nginx:alpine