docker配置dotnet core 项目

1.安装docker

  先更新一下yum

yum update

  安装

yum install -y docker

  启动

systemctl start docker    #启动
systemctl status docker    #查看状态

  修改镜像配置文件,改为ustc镜像

vi /etc/docker/daemon.json

  添加如下代码

{
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

  重启

systemctl daemon-reload  #重新加载配置
systemctl restart docker  #重启docker
docker info # 查看信息,最末尾处有 Registry Mirrors 配置信息

  尝试一下,拉去镜像

docker pull hello-world

docker search hello-world #拉取之前可以查看一下有什么版本

  这里如果没有开放安全组入站规则,会访问不到,卡住,然后出现错误,记得开放(指云服务器)

docker images  #查看镜像

  跑一下试试

docker run hello-world  

  

   成功!!!!!

2.安装dotnet core 2.2 环境

  很简单,一句命令搞的

docker pull microsoft/dotnet:2.2-aspnetcore-runtime

3.配置 dotnet core 项目

  本地新建一个项目,修改Program

    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Build().Run();
        }

        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseUrls("http://*:2202")
                .UseStartup<Startup>();
    }

  这是为了指定端口,* 是为了让linux 能够通过  curl 访问到容器的站点,后面会说

  关键点来了,新建 Dockerfile

FROM microsoft/dotnet:2.2-aspnetcore-runtime  #第2点拉取的镜像
COPY . /data/www                              #从本地(也就是项目发布的目录)copy到镜像的这个位置
WORKDIR /data/www                             #去访问这个位置
EXPOSE 2202 
ENTRYPOINT ["dotnet", "CoreDemo.dll"]

  并且设置属性为  始终复制/较新复制

  发布,并且上传到linux,要上传到什么目录自己决定

  cd 到发布根目录

docker build -t coredemo .   #创建镜像,名字自己定义

docker run --name mycoredemo -p 2202:2202 -d coredemo #运行并产生容器,--name为容器名自己定义  -p linux开放的端口供外界访问:镜像的端口  -d为镜像名

  现在可以使用curl 查看是否能打印代码

curl http://localhost:2202

  其他相关操作

docker ps   #显示运行中容器

docker ps -a   #显示所有容器

删除

先停止、删除容器、再删镜像

docker stop 容器id\name

docker rm 容器id\name

docker rmi 镜像 id\name

猜你喜欢

转载自www.cnblogs.com/wskxy/p/11499829.html