通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署
在centos上安装docker
-
# step 1: 安装必要的一些系统工具 -
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 -
# Step 2: 添加软件源信息 -
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -
# Step 3: 更新并安装Docker-CE -
sudo yum makecache fast -
sudo yum -y install docker-ce -
# Step 4: 开启Docker服务 -
sudo service docker start -
########################################################################## -
# 注意: -
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。 -
# vim /etc/yum.repos.d/docker-ee.repo -
# 将[docker-ce-test]下方的enabled=0修改为enabled=1 -
# -
# 安装指定版本的Docker-CE: -
# Step 1: 查找Docker-CE的版本: -
# yum list docker-ce.x86_64 --showduplicates | sort -r -
# Loading mirror speeds from cached hostfile -
# Loaded plugins: branch, fastestmirror, langpacks -
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable -
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable -
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable -
# Available Packages -
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos) -
# sudo yum -y install docker-ce-[VERSION] -
输入
# docker version输出如下信息表示docker安装成功
创建aspnet core webapi项目 HelloDocker,并使用Dockerfile定制镜像,Dockerfile文本指令如下:
FROM microsoft/dotnet:sdk AS build-env
WORKDIR /code
COPY *.csproj /codeRUN dotnet restore
COPY . /code
RUN dotnet publish -c Release -o out
FROM microsoft/dotnet:2.1-aspnetcore-runtime
WORKDIR /app
COPY --from=build-env /code/out /app
ENTRYPOINT ["dotnet", "HelloDocker.dll"]
登入阿里云后台
-
选择容器镜像服务

-
创建命名空间 hello_my_docker

-
创建镜像仓库


-
点击镜像-管理,进入镜像基本信息

打包镜像并推送到阿里云镜像仓库
-
打开Windows PowerShell cd 进入到HelloDocker项目根目录,即Dockerfile文本所在文件夹
-
输入指令
docker build -t hello_docker:1.0.0.0 .,第一次的话,耗时会比较久,因为需要pull netcore相关镜像,打包成功后输入docker images可以看到hello_docker打包成功,版本为1.0.0.0
-
将镜像推送到阿里云镜像仓库,如图

-
登录
docker login --username=[username] registry.cn-hangzhou.aliyuncs.com
-
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/hello_my_docker/hello_docker:[镜像版本号][ImageId]为本地容器名称,这里为:
docker tag hello_docker:1.0.0.0 registry.cn-hangzhou.aliyuncs.com/hello_my_docker/hello_docker:1.0.0.1 -
docker push registry.cn-hangzhou.aliyuncs.com/hello_my_docker/hello_docker:1.0.0.1
-
登录阿里云后台查看镜像版本,新增成功

-
通过PuTTY登录到阿里云centos,运行
docker images显示没有任何镜像
-
参考前面步骤,在centos系统里面通过docker 登录到阿里云镜像仓库,通过
sudo docker pull registry.cn-hangzhou.aliyuncs.com/hello_my_docker/hello_docker:1.0.0.1pull镜像运行
docker images
-
运行
docker run -d --name first_hello_docker -p 80:80 registry.cn-hangzhou.aliyuncs.com/hello_my_docker/hello_docker:1.0.0.1
-
在浏览器输入云服务器ip地址

-
若输入ip相关端口访问无效的话,可在阿里云后台安全组规则进行相关配置

-

浙公网安备 33010602011771号