我们先看下成功后的结果示例:
1.获取镜像
sudo docker pull zhangxueliangdocker/ae_app:1.0.1
2.运行容器
sudo docker run -p 5005:5005 --name ae_app_10 {imageId}
好的,废话不多说接下来直接进入主题。我本地的基本环境如下,其它环境的安装请自行百度或者留言。
环境:docker 18.6
系统:centos7_x64
1.安装运行时环境
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo yum install dotnet-sdk-2.2
sudo docker pull mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim
2.根据dockerfile 生成镜像
【首先】将项目release后的文件以及dockerfile放到指定目录。
例如:

#####################################
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim
WORKDIR /app
COPY ./publish .
EXPOSE 5005
#VOLUME ["/aeapp_logs","/logs"]
ENTRYPOINT ["dotnet", "AuthEvidence.APP.dll"]
#####################################
【其次】执行生成镜像命令。(注意最后有一个点)
sudo docker build -t zhangxueliangdocker/1.0.1 .
3.进行发布前的本地测试。
sudo docker run -p 5005:5005 --name ae_app_1.0.1 zhangxueliangdocker/ae_app:1.0.1{imageid}
或者添加挂载命令 -v $PWD/logs:/logs
4.上传镜像至dockerhub
#登录账号
sudo docker login
#推送镜像至官网
sudo docker push zhangxueliangdocker/ae_app:1.0.1
注意:如果REPOITORY的名不是你Docker hub账号和仓库,即Docker ID/仓库名,是上传不成功的,需要进行更改名称,"docker tag 镜像ID 用户名称/镜像源名(repository name):新的标签名(tag)"
网友评论