将Asp.Net Core3.1项目,使用Docker 部署到Centos 8

1、准备工具html

Win 10docker

Centos 8服务器

Visual Studio 2019并发

Docker Desktop  下载地址:https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exemvc

2、Cenos 8安装dockertcp

一、安装工具

1 yum install docker          安装docker   
2 systemctl start docker.service  启动docker服务
3 systemctl enable docker.service  设置docker服务开机自启动

二、检查ui

1 docker -v

 3、建立.net core 3.1项目并发布spa

一、建立项目.net

 注意:勾选启用Docker支持,选择Linux。

注意:将Dockerfile文件属性改成:始终复制。

 二、生成项目,如今本地使用docker运行,保证项目正常运行。

第一次运行的时候,会提示你运行Docker Desktop,无脑点是。继续运行会自动下载运行项目时所须要的镜像,静等complete便可。

三、本地运行成功

 四、本地发布

 发布后的文件结构

 五、修改Dockerfile文件地址

因为咱们是发布到本地,vs帮咱们自动生成的Dockerfile文件里,包含了生成—>发布—>运行的全部流程,在这里,咱们只须要最后一步运行的数据就好了。

  dockerfile文件指令说明:

  • FROM -指定所建立镜像的基础镜像
  • WORKDIR-配置工做目录
  • EXPOSE-声明镜像内服务监听的端口 (能够不写,由于咱们具体映射的端口能够在运行的时候指定)
  • COPY-复制内容到镜像   (. .表明当前目录)
  • ENTRYPOINT-启动镜像的默认人口命令

六、打包到Centos 8服务器,我这里使用的是:SecureCRT

 七、构建docker镜像

  进入到服务器的相关文件夹路径,输入:

1 docker build -t mytest-mvc .

注意:结尾的 . 不能漏掉

参数解释:

  •  -t 指定镜像名称 (只能小写)
  •  .  表示build上下文为当前目录,默认状况docker会使用上下文的根目录找到Dockerfile文件

查看构建的镜像,输入:

1 docker image ls

 八、建立并运行容器

1 docker run --name myfirstWeb  -d -p 5001:2345  firstdocker

    参数解释:

  •  --name  表示容器名称(区分大小写),也能够不指定,默认会生成
  •  -d          表示在后台以守护形式运行容器
  •  -p          表示外部端口与内部容器端口映射。关于-p的还有其余用法(http://www.javashuo.com/article/p-ozsclfta-mh.html)
  • 结尾       表示上一步建立的镜像名称

查看容器运行状况,输入:

1 docker ps -a

 最后,咱们在本地请求:

若是发现请求不了,多半是下面两种状况:

 一、对外映射的端口没开启。

1 //查询端口号XXX 是否开启
2 firewall-cmd --query-port=XXX/tcp  
3 //开启端口
4 firewall-cmd --zone=public --add-port=XXX/tcp --permanent
5 //重启防火墙
6 firewall-cmd --reload

二、建立运行容器时监听的端口弄错了:

1 //查看容器运行日志
2 docker logs 容器ID


 容器相关经常使用命令:

1 //查看容器运行日志
2 docker logs  容器名称/容器ID    
3 //中止运行容器
4 docker stop 容器名称/容器ID    
5 //删除容器
6 docker rm 容器名称/容器ID   
7 //重启容器服务 
8 systemctl restart docker
相关文章
相关标签/搜索