.NetCore 发布到 Centos 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                 镜像下载
            …

 

 

 

 

 

转载于:https://www.cnblogs.com/wmyll/p/10687818.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Centos7发布说明 环境说明: 服务器系统:CentOS 7.2.1511 相关工具:Xshel、Xftp 服务器软件软件:.netcore、nginx、supervisor 准备好发布的程序 安装.NET Core SDK for CentOS7 打开网址:https://www.microsoft.com/net/core#linuxcentos 复制如下命令,单步执行: sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019 sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet sudo ln -s /opt/dotnet/dotnet /usr/local/bin 输入 dotnet –info 来查看是否安装成功 配置Nginx 下载安装Nginx,单步执行如下命令: curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm rpm -ivh nginx.rpm yum install nginx systemctl start nginx 来启动nginx systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。 配置防火墙 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口) 命令:systemctl restart firewalld(重启防火墙以使配置即时生效) 测试nginx是否可以访问。 配置nginx对ASP.NET Core应用的转发 修改 /etc/nginx/conf.d/default.conf 文件,将文件内容替换为: server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值