【C#】.net core命令行程序部署至docker容器里面运行
这里以.net core 3.1为例:
一、部署docker
1.前提条件
Docker运行对内核要求比较高,因此一般建议直接在Ubuntu这样的平台运行。但作为一个容器标准,Docker也是支持其他如CentOS, Mac OS X, Windows等平台。
-
CentOS 7
-
CentOS 8
-
更高版本...
2.自动安装
使用官方安装脚本自动安装:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
3.手动安装
3.1卸载旧版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3.2安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
3.3设置镜像仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
或
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.4安装 Docker Engine-Community
安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io
eg:如果启用了多个 Docker 仓库,则在未在 yum install 或 yum update 命令中指定版本的情况下,进行的安装或更新将始终安装最高版本,这可能不适合您的稳定性需求。
3.5要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:
yum list docker-ce --showduplicates | sort -r
3.6通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
3.7启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
二、创建.net core项目
2.1发布.netcore3.1项目
命令行程序
2.2创建Dockerflie
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
COPY ./ App/
WORKDIR /App
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
ENTRYPOINT ["dotnet", "xxxxx.dll"]
2.3将程序包上传至服务器
2.4启动程序
打包docker:
docker build -t 镜像名:备注信息 -f Dockerfile .
导出打包好的docker包:
docker save -o 导出的文件名 镜像信息(可以通过docker images查看)
导入docker镜像包:
docker load -i 导入的镜像包文件所在路径与名称
docker run -d \
--name 容器名 \
--restart=always \
--mount type=bind,src=/映射出来的物理路径或文件,dst=/需要映射的文件路径或者文件 \
镜像名:备注信息
本文出自《粉墨记忆》 => 《【C#】.net core命令行程序部署至docker容器里面运行》
转载时请注明出处及相应链接,
本文地址:https://www.fmxk.ac.cn/?post=22
WRITTEN BY
一名软件开发者,平时把自己的学习成果放在博客上面,也会放一些自己在用的小工具,有问题大家可以留言,我们一起讨论哦!