通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

时间:2023-03-09 17:28:54
通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

在centos上安装docker

  1. # step 1: 安装必要的一些系统工具

  2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2

  3. # Step 2: 添加软件源信息

  4. sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  5. # Step 3: 更新并安装Docker-CE

  6. sudo yum makecache fast

  7. sudo yum -y install docker-ce

  8. # Step 4: 开启Docker服务

  9. sudo service docker start

  10. ##########################################################################

  11. # 注意:

  12. # 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。

  13. # vim /etc/yum.repos.d/docker-ee.repo

  14. # 将[docker-ce-test]下方的enabled=0修改为enabled=1

  15. #

  16. # 安装指定版本的Docker-CE:

  17. # Step 1: 查找Docker-CE的版本:

  18. # yum list docker-ce.x86_64 --showduplicates | sort -r

  19. # Loading mirror speeds from cached hostfile

  20. # Loaded plugins: branch, fastestmirror, langpacks

  21. # docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable

  22. # docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable

  23. # docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable

  24. # Available Packages

  25. # Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)

  26. # sudo yum -y install docker-ce-[VERSION]

  27. 输入# docker version 输出如下信息表示docker安装成功

    通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    创建aspnet core webapi项目 HelloDocker,并使用Dockerfile定制镜像,Dockerfile文本指令如下:

    FROM microsoft/dotnet:sdk AS build-env

    WORKDIR /code
    COPY *.csproj /code

    RUN 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"]

    通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

登入阿里云后台

  1. 选择容器镜像服务通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

  2. 创建命名空间 hello_my_docker

    通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

  3. 创建镜像仓库

    通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

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

    通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    打包镜像并推送到阿里云镜像仓库

    1. 打开Windows PowerShell cd 进入到HelloDocker项目根目录,即Dockerfile文本所在文件夹

    2. 输入指令 docker build -t hello_docker:1.0.0.0 .,第一次的话,耗时会比较久,因为需要pull netcore相关镜像,打包成功后输入 docker images 可以看到hello_docker打包成功,版本为1.0.0.0

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    3. 将镜像推送到阿里云镜像仓库,如图

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    4. 登录 docker login --username=[username] registry.cn-hangzhou.aliyuncs.com

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    5. 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

    6. docker push registry.cn-hangzhou.aliyuncs.com/hello_my_docker/hello_docker:1.0.0.1

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    7. 登录阿里云后台查看镜像版本,新增成功

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    8. 通过PuTTY登录到阿里云centos,运行 docker images 显示没有任何镜像

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    9. 参考前面步骤,在centos系统里面通过docker 登录到阿里云镜像仓库,通过

      sudo docker pull registry.cn-hangzhou.aliyuncs.com/hello_my_docker/hello_docker:1.0.0.1 pull镜像

      运行 docker images

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    10. 运行 docker run -d --name first_hello_docker -p 80:80 registry.cn-hangzhou.aliyuncs.com/hello_my_docker/hello_docker:1.0.0.1

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

    11. 在浏览器输入云服务器ip地址

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署

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

      通过docker把本地AspNetCore WebAPI镜像打包到阿里云镜像仓库并在centos部署