.NetCore 发布到 Centos docker
程序员文章站
2022-03-01 13:29:33
【搭建环境】 系统:CentOS 7.0 容器:Docker 1.13.1 .Net Core 版本:.NET Core 2.2 工具:putty、filezilla 等. 一、安装 docker 1. 安装 docker 2. 启动 docker 服务 3. 配置开机启动 4. 配置 docker ......
【搭建环境】
系统:centos 7.0 容器:docker 1.13.1 .net core 版本:.net core 2.2 工具:putty、filezilla 等.
一、安装 docker
1. 安装 docker
yum install docker ps: 更新 docker 用 yum update
2. 启动 docker 服务
systemctl start docker.service
3. 配置开机启动
systemctl enable docker.service
4. 配置 docker 加速器
配置 docker 加速最快的方法直接修改/etc/docker/daemon.json 下的配置信息为:
{ "registry-mirrors": ["https://d8b3zdiw.mirror.aliyuncs.com"] }
5. 在终端重启 docker 服务
sudo systemctl daemon-reload sudo systemctl restart docker
二、部署.netcore 应用到 docker
1. 新建一个 asp.net core 2.2 项目,在 windows 下发布运行成功
2. 添加 docker 支持,选择 linux(或在添加项目时勾选启用docker支持)
3.编写dockerfile,并设置文件属性:始终复制
from microsoft/dotnet:2.2-aspnetcore-runtime copy . /apiweb workdir /apiweb expose 80 entrypoint ["dotnet", "apiweb.dll"]
构建dockerfile 注释 ① from指定基础镜像,这里统一使用microsoft/dotnet(:tag)tag是一个标签,指定一个版本或者最近的版本(即latest) ② copy拷贝发布文件到本地的/ apiweb /的路径下,供容器使用 ③ workdir 指定容器的工作目录 ④ expose 指定容器的端口(注意,不是服务器访问到程序的端口) ⑤ entrypoint 执行交互命令,使用cmd亦可赛艇,但是注意两者都是执行完整命令的话,是会相互覆盖的,只有最后一个有效。
4.发布项目
5.将dockerfile文件复制到发布成功的目录,并利用ftp工具全部上传到服务器
6.构建docker镜像
①.进入到发布文件目录(dockerfile文件所在目录)
cd /home/wwwroot/apiweb
②. 拉取基础镜像
docker pull microsoft/dotnet:2.2-aspnetcore-runtime
③. 执行命令创建镜像 ,注意最后面有个.
docker build -t apiweb .
apiweb是创建镜像的名称,这个命令会根据当前目录下dockerfile配置文件,进行打包。运行查看镜像 docker images
④. 创建容器,其中前一个apiweb是容器名 后一个apiweb是上一步的镜像名。
--name:指定容器名称;
-p:指定容器端口,是进行宿主和容器之间端口的映射,(-p 宿主端口:容器端口);
-d:指定容器后台运行,这样容器就会一直运行,即使关掉终端窗口。
docker run --name=apiweb -p 80:80 -d apiweb 或者 docker run --name=apiweb -p 宿主ip:5000:80 -d apiweb
出现一长串字符串,便是表示容器运行成功。
7.验证访问
直接通过浏览器访问即可(宿主ip+端口号)。
docker常用命令: docker -v / version /info 查看docker版本信息 docker images 查看所有镜像 docker ps 查看所有正在运行的容器 docker ps -a 查看所有容器 docker rmi+镜像id 删除某个镜像 docker stop+容器id 停止某个容器 docker start+容器id 启动某个容器 docker restart+容器id 重启某个容器 docker rm+容器id 删除某个容器 docker rmi $(docker images -q) 删除所有镜像 docker rm $(docker ps -a -q) 删除所有容器 docker logs +容器id 查看容器日志信息找原因 netstat -tanlp 查看端口 kill+端口 杀死某个端口 docker search mysql 镜像检索 docker pull mysql 镜像下载 …
推荐阅读
-
.Net Core 项目发布到Linux - CentOS 7(一)
-
.Net Core 项目发布到Linux - CentOS 7(二)用Supervisor守护netcore进程
-
centos下docker安装及springboot远程发布docker的方法
-
netcore 发布 到 windows server IIS
-
Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的实现
-
ASP.NET Core部署系列二:发布到CentOS上
-
CentOS下Docker与.netcore(五)之 三剑客之一Docker-swarm集群
-
asp.netcore+jenkins+docker+svn+centos7.2 持续集成,每天凌晨获取最新代码打包发布
-
asp.net core发布到docker报Microsoft.ApplicationInsights.AspNetCore miss的错误
-
centos7下docker发布第一个微服务应用(Eureka)