docker 部署.net core

使用脚本安装 Docker

(1)安装docker

 sudo yum install docker

(2)启动docker

systemctl  start docker.service

(3)配置开机启动

systemctl enable docker.service

(4)查看docker版本信息

docker version

(5).net core 创建 Dockerfile 

(5)dockerfile

 

#基于 `microsoft/aspnetcore:2.0` 来构建我们的镜像
FROM microsoft/aspnetcore:2.0

#拷贝项目publish文件夹中的所有文件到 docker容器中的publish文件夹中  
COPY . /publish

#设置工作目录为 `/publish` 文件夹,即容器启动默认的文件夹
WORKDIR /publish

#设置Docker容器对外暴露80端口
EXPOSE 80

#使用`dotnet NetCore2Mvc.dll`来运行应用程序
ENTRYPOINT ["dotnet", "NetCore2Mvc.dll"]

 

 (6)发布项目

 

 将发布的文件拷到centos的core文件夹下

 

下载 .net core 2.1 镜像

docker pull microsoft/dotnet:2.1-aspnetcore-runtime
 

 

(7)生成镜像

cd 到core文件夹下

sudo docker build -t demo-netcore .       (注意:最后空格后面有一个.)。

(9)查看生成的镜像

sudo docker images

因为,刚打包的镜像demo-netcore是基于docker.io/microsoft/aspnetcore镜像的,所以在打包demo-netcore的过程中,会优先从镜像库中拉取docker.io/microsoft/aspnetcore镜像。

 

(10)运行docker容器

sudo docker run --name democore -d -p 54907:80 demo-netcore

democore 容器的名称。

-d 后台进程。

-p是进行宿主和容器之间端口的映射,(-p 宿主端口:容器端口)

 

 

 (11)检验docker容器是否运行成功

    sudo docker ps -a

 

(12)因为运行docker容器的时候 进行了 端口映射  所以外部访问端口 为 54907

 

 

 ip addr

 

 

(13)删除镜像

sudo docker rmi (镜像ID)

 

(14)删除容器

sudo docker rm xxxxxxxxx(容器id)

 

 删除容器之前停止容器

sudo docker stop (容器id)

 

(15)创建容器

 docker commit -p xxxxxxxxxxx(容器id) name(快照名称)

 

16)保存本地tar备份

 docker save -o ~/xxxxxxxx.tar name(容器名称)

 

(17)Xftp5物理导出到本地

 

(18)恢复docker备份

 

(19)进入docker容器内部

docker exec -it 容器id /bin/bash

 

(20)退出容器

Ctrl+D 或者 exit

 

(21)查看docker 日志

docker logs -f -t --since="2017-05-31" --tail=10 alibaba-vica-netapi

docker logs 6dc1e5f74c0

 

--since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。

-f : 查看实时日志

-t : 查看日志产生的日期

-tail=10 : 查看最后的10条日志。

alibaba-vica-netapi : 容器名称

 

项目需要重新发布时:

将发布文件拷到core文件夹下

将之前的容器停掉,

重新build一个镜像demo-netcore2

再次run一个容器democore2  端口映射

 

就可以看到新发布的内容了

如果想回退到上个版本 只需要停掉当前容器,run demo-netcore镜像

 

 

$ sudo docker ps // 查看所有正在运行容器
$ sudo docker stop containerId // containerId 是容器的ID

$ sudo docker ps -a // 查看所有容器
$ sudo docker ps -a -q // 查看所有容器ID

$ sudo docker stop $(docker ps -a -q) // stop停止所有容器
$ sudo  docker rm $(docker ps -a -q) // remove删除所有容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值