ASP.NET Core3.1在CentOS8打包Docker镜像
作者:互联网
dockerfile文件
--=dockerfile=============================================================
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
COPY . /publish
WORKDIR /publish
EXPOSE 80
CMD ["dotnet", "test.dll"]
--==============================================================
--=dockerfile参考=============================================================
#引入镜像,低版本 docker 去掉 AS base
#换成别人做的阿里镜像
#FROM registry.cn-hangzhou.aliyuncs.com/newbe36524
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
#配置工作目录 相当于cd
WORKDIR /app
#暴露容器端口,此端口与程序运行路径一致,可
EXPOSE 5000
#复制文件到工作目录
COPY . .
#ENV :配置系统环境变量,比如程序环境环境等在这里配置(开发、预发、线上环境)
#这里是配置程序运行端口,如果程序不使用默认的80端口这里一定要设置(程序运行端口)
ENV ASPNETCORE_URLS http://+:5000
#设置时间为中国上海,默认为UTC时间
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#启动程序
ENTRYPOINT ["dotnet", "DotNetCore.API.dll"]
--==============================================================
一、CentOS8安装Docker
1.设置存储库(用于从存储库安装和更新Docker)
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
2.安装Docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
注:如果出现冲突的软件包则后面加上 “--allowerasing” 替换
3.启动Docker
sudo systemctl start docker
4.设置开机自启动
sudo systemctl enable docker
5.查看Docker版本
docker --version
docker version 注:查看完整版本信息
其它Docker常用命令:
--卸载旧版本命令:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
二、打包Docker镜像并运行容器
--构建docker镜像
docker build -t test . 注:test为自定义的镜像名称
--查看构建的镜像
docker image ls
--创建并运行容器
docker run --name testapi -d -p 5001:80 test 注:testapi为自定义的容器名称,5001为外部端口与内部容器端口映射,test为镜像名称
--查看容器运行情况
docker ps -a
三、其它情况
如果发现请求不了,查看是否下面两种情况:
1、对外映射的端口没开启。
--查询端口号XXX 是否开启
firewall-cmd --query-port=XXX/tcp
--开启端口
firewall-cmd --zone=public --add-port=XXX/tcp --permanent
--重启防火墙
firewall-cmd --reload
2、创建运行容器时监听的端口弄错了:
--查看容器运行日志
docker logs 容器ID
其它常用命令:
--根据镜像ID删除镜像
docker rmi 75835a67d134
--查看容器运行日志
docker logs 容器名称/容器ID
--停止运行容器
docker stop 容器名称/容器ID
--删除容器
docker rm 容器名称/容器ID
--重启容器服务
systemctl restart docker
标签:容器,ASP,--,端口,Core3.1,镜像,NET,Docker,docker 来源: https://blog.csdn.net/windowsliusheng/article/details/110442301