使用脚本安装 Docker

(1)安装docker

 sudo yum install docker

(2)启动docker

systemctl  start docker.service

(3)配置开机启动

systemctl enable docker.service

(4)查看docker版本信息

docker version

docker 部署.net core

(5).net core 创建 Dockerfile 

docker 部署.net core

(5)dockerfile

docker 部署.net core

 

#基于 `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)发布项目

 docker 部署.net core

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

 

下载 .net core 2.1 镜像

docker pull microsoft/dotnet:2.1-aspnetcore-runtime
 

 

(7)生成镜像

cd 到core文件夹下

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

docker 部署.net core

(9)查看生成的镜像

sudo docker images

docker 部署.net core

因为,刚打包的镜像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 宿主端口:容器端口)

 docker 部署.net core

 

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

    sudo docker ps -a

 docker 部署.net core

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

 docker 部署.net core

 

 ip addr

docker 部署.net core

 

docker 部署.net core

 

(13)删除镜像

sudo docker rmi (镜像ID)

docker 部署.net core

 

(14)删除容器

sudo docker rm xxxxxxxxx(容器id)

 docker 部署.net core

 删除容器之前停止容器

sudo docker stop (容器id)

 

(15)创建容器

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

 

16)保存本地tar备份

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

 

(17)Xftp5物理导出到本地

docker 部署.net core

 

(18)恢复docker备份

docker 部署.net core

 

(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文件夹下

将之前的容器停掉,

docker 部署.net core

重新build一个镜像demo-netcore2

docker 部署.net core

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

 docker 部署.net core

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

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

docker 部署.net core

 

 

$ 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删除所有容器

相关文章:

  • 2022-12-23
  • 2021-09-21
  • 2022-12-23
  • 2021-11-26
  • 2021-09-02
  • 2021-06-14
  • 2021-08-28
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-26
  • 2022-03-10
  • 2022-01-06
  • 2021-08-26
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案