DotNetCore2.1 下Docker使用的学习

【环节1:CentOS 安装Docker】

Step1:通过 uname -r 命令查看你当前的内核版本
uname -r

Step2:使用 root 权限登录 Centos。确保 yum 包更新到最新
sudo yum update

Step3:卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine

Step4:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step5:设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Step6:查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r

Step7:安装docker
sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0

Step8 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker

Step9:验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version

注:(因为之前已经安装过旧版本的docker,在安装的时候报错如下:)
卸载旧版本的包 $ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
再次安装docker $ sudo yum install docker-ce

【环节2:Vs2017中Dotnetcore发布与镜像推送】
Step1:安装docker,同时注册你的账号
https://www.docker.com/products/docker-desktop

Step2:安装docker后再状态栏小图标处右键菜单点击Kitematic 提示下载

Step3:下载成功后将文件解压放到与Docker安装目录同级的地方,然后进行Step2就可以管理你看到的容器或创建新的容器

Step4:创建core2 MVC的Demo项目或正式项目并在项目创建好后再解决方案右键->新增Dock支持
说明:需要你在电脑提前安装好Hyper-v 虚拟及管理器

Step5: 尝试按照Docker方式运行

Step6:对解决方案进行发布,发布成功后复制publish到一个新的文件夹中 并在与publish同级目录中创建名为Dockerfile的文件
文件内容如下:
#微软提供的容器镜像,提供了已经集成好Dotnet Core运行所需环境的Docker Image
FROM microsoft/dotnet:latest
#容器中的工作目录
WORKDIR /root
#Copy the app file to root
COPY publish /root/
#Configure the listening port to 9100
EXPOSE 9100/tcp
# Start the app
ENTRYPOINT dotnet Core2Demo.dll #Core2Demo.dll 程序入口

【环节3:通过powershell创建镜像并推向镜像以及获取镜像】

Step1: 打开Powershell,可以直接找powershell 也可以通过Docker的 Kitematic打开(在窗口的左下角)

Step2:以下命令介绍(同样适用于CentOS 命令行)
a. docker ps -a #查看所有容器
b. docker images #查看所有镜像
c. docker build -t demo-netcore . #创建镜像,其中 demo-netcore是创建镜像的名称,这个命令会,根据当前目录下dockerfile配置文件,进行打包
d. docker run --name demo -p 8080:80 demo-netcore:latest #运行容器
f.docker rm $(docker ps -a -q) #删除所有容器
g.docker rmi 镜像ID #删除制定容器

Step3:在powershell中定位到环节2中Step6中发布文件所在目录,并使用 docker build -t demo-netcore . 创建镜像

Step4:通过docker images 查看所有镜像,并适用命令 docker tag 命令重命名镜像 例如 docker tag 镜像ID 你的docker账户/新的名称

Step5: 推送镜像,使用 “docker push 镜像名称” 命令进行推送

Step6:进入CentOS系统 通过命令获取镜像,命令:docker pull 镜像名称

Step7:获取完成后,运行容器中镜像,命令:docker run --name demo -p 8080:80 demo-netcore:latest #8080:80 指将容器内部端口映射到8080端口,此时可以使用linux的ip:8080可以访问了


【说明】
环节3中的内容即推送和拉去工作也可以使用另一种方式:将发布好的程序复制到linux中 并通过命令创建容器以及镜像来运行




猜你喜欢

转载自www.cnblogs.com/endfalse/p/9806921.html