AntDeploy 工具一键发布镜像到腾讯云 Docker 私有镜仓库

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: AntDeploy 工具一键发布镜像到腾讯云 Docker 私有镜仓库。

AntDeploy 工具功能简介

  • 支持 docker一键部署(支持.net core、.net6+)
  • 支持 iis 一键部署(支持 .net core 和 framework)
  • 支持 windows 服务一键部署(支持 .net core/.net6+ 和 framework)
  • 支持 linux 服务一键部署(支持 .net core/.net6+)
  • (支持增量发布)(支持一键回滚)(支持点火)(支持选择特定文件发布)(支持查看发布记录)
  • 支持脱离 Visual Studio 独立使用(跨平台支持 windows 系统和 mac 系统)
  • 支持 Agent 批量更新

image.png

资源地址:

AntDeploy 应用示例

使用 AntDeploy 一键制作镜像,并上传腾讯云私有镜像仓库。

演示环境说明

  • 操作系统:Windows 10 专业工作站版 x64,内核版本号 2004

image.png

  • Microsoft Visual Studio Enterprise 2019 版本 16.8.2

image.png

  • 本地Hyper-V安装ubuntu-20.04虚拟机(操作vm终端vs code)

image.png

  • AntDeploy 离线版 Version:7.28

注意事项:

1、确保本地配置的vm可以访问外网,并且与宿主机相互通信,查看网络工具

# sudo apt install net-tools

2、确保 vm 安装 docker

# sudo apt update & sudo apt install docker.io

3、确保 vm 安装 unzip

# sudo apt install unzip

4、vs code 安装插件(可选配置:Remote - WSL,Docker ),通过 ssh 连接 vm

# ssh chait@172.29.161.146 提示输入密码即可

5、vm 安装 docker 并配置国内镜像源:

# 1.查看 Ubuntu 的 IP 地址
ifconfig

# 2.执行后,可能该项的服务功能未安装,根据提示执行,安装网络工具
sudo apt install net-tools

安装后,想通过 vs code/pwsh ssh 远程工具连接的时候发现连接失败。

此时,查看Ubuntu关于22的端口,执行命令如下:

netstat -ntlp | grep 22
# 参数解释:
-n  不以进程的服务名称,以端口号(port number)显示
-t  列出tcp网络封包的信息
-l  列出目前正在网络监听(listen)服务
-p  列出该网络服务的进程

此时若发现无任何关于 22 端口的进程内容,执行以下命令:

# 安装 openssh-server
sudo apt install openssh-server

# 安装 ufw 防火墙
sudo apt install ufw

# 启动 ufw 防火墙
sudo ufw enable

# ufw 开放 22 端口
sudo ufw allow 22
  • vm 中安装好 docker 后授权非 root 账户使用,配置步骤如下:
# 1.创建docker组
sudo groupadd docker

# 2.将当前用户加入docker组
sudo gpasswd -a ${USER} docker

# 3.重新启动docker服务
sudo service docker restart
# or
sudo systemctl restart docker

# 4.当前用户退出系统重新登陆
su root
su chait 

# 5.运行docker命令,查看是否可使用
docker ps 或 docker images

image.png

image.png

image.png

image.png

如果出现失败,可以重启下 vm,再次测试。

  • 重启命令
reboot 
shutdown -r now 立刻重启
shutdown -r 10 过10分钟自动重启
shutdown -r 20:35 在时间为20:35时候重启
  • 关机命令
halt   立刻关机(一般加-p 关闭电源)
poweroff 立刻关机 
shutdown -h now 立刻关机
shutdown -h 10 10分钟后自动关机 

# 如果是通过 `shutdown` 命令设置关机的话,可以用 `shutdown -c` 命令取消关机。

AntDeploy 镜像制作

2.1 准备 .net 相关镜像

准备 .net 相关镜像,国内下载镜像可能会失败(受限于网络原因);

image.png

Featured Tags

  • 7.0 (Standard Support)
docker pull mcr.microsoft.com/dotnet/sdk:7.0
  • 6.0 (Long-Term Support)
docker pull mcr.microsoft.com/dotnet/sdk:6.0

Featured Repos

  • dotnet/sdk: .NET SDK
  • dotnet/aspnet: ASP.NET Core Runtime
  • dotnet/runtime: .NET Runtime
  • dotnet/runtime-deps: .NET Runtime Dependencies
  • dotnet/monitor: .NET Monitor Tool
  • dotnet/samples: .NET Samples
关于 .NET 的 docker 镜像信息请查看, https://hub.docker.com/_/microsoft-dotnet/

按需拉取镜像即可,此处演示只需如下镜像:.NET SDK & ASP.NET Core Runtime

# ASP.NET Core Runtime
docker pull mcr.microsoft.com/dotnet/aspnet:6.0
docker pull mcr.microsoft.com/dotnet/aspnet:6.0-buster-slim
 
# .NET SDK
docker pull mcr.microsoft.com/dotnet/sdk:6.0-buster-slim

image.png

Featured Tags

  • 7.0 (Standard Support)
docker pull mcr.microsoft.com/dotnet/aspnet:7.0
  • 6.0 (Long-Term Support)
docker pull mcr.microsoft.com/dotnet/aspnet:6.0

腾讯云平台准备 Docker 私有镜像仓库,确保 vm 和宿主机可以正常登录访问:

#登录腾讯云docker registry
sudo docker login --username=[user] ccr.ccs.tencentyun.com
#提示输入对应的密码即可
 
#从registry拉取镜像
sudo docker pull ccr.ccs.tencentyun.com/sws-center-ol-service-dev/rg-sws-center-ol-dev-2069:[tag]
 
#将镜像推送到registry
sudo docker login --username=[user] ccr.ccs.tencentyun.com
sudo docker tag [ImageId] ccr.ccs.tencentyun.com/sws-center-ol-service-dev/rg-sws-center-ol-dev-2069:[tag]
sudo docker push ccr.ccs.tencentyun.com/sws-center-ol-service-dev/rg-sws-center-ol-dev-2069:[tag]

腾讯云平台 Docker 私有镜像仓库已经准备如下镜像:

image.png

本地拉取镜像的时候,可以配置国内镜像源:

本地 Windows PowerShell/PowerShell 下载镜像,现在本机上面安装个 Docker for Windows 客户端工具,然后配置镜像源地址。

image.png

2.2 实现目标

  • 使用 vs2022 创建对应的 b/s 应用程序,此处演示的是【NetService-Jwt】;
  • 使用 AntDeploy 工具一键制作镜像(基于 .net6 构建的应用镜像)并发布到腾讯的 docker 私有镜像仓库;
  • 部署准备,腾讯云 TKE (基于 k8s&containerd)平台从私有镜像仓库拉取镜像实施资源部署;

1、配置 AntDeploy.json,界面操作工具配置好后得到如下配置信息;

{
  "Env": [
    {
      "Name": "docker-ubuntu-20.04",
      "ServerList": [],
      "LinuxServerList": [
        {
          "UserName": "chait",
          "Pwd": "35FE3BA71BD99AF92DB2A32F980ECDAE",
          "Host": "172.29.161.146",
          "NickName": "docker",
          "IIsFireUrl": null,
          "DockerFireUrl": "",
          "WindowsServiceFireUrl": null,
          "LinuxServiceFireUrl": null
        }
      ],
      "IgnoreList": [],
      "WindowsBackUpIgnoreList": []
    }
  ],
  "IIsConfig": {
    "SdkType": null,
    "WebSiteName": "",
    "LastEnvName": null,
    "EnvPairList": [
      {
        "EnvName": "docker-ubuntu-20.04",
        "ConfigName": "",
        "LinuxEnvParam": null,
        "DockerPort": null,
        "DockerEnvName": null,
        "DockerVolume": null,
        "DockerOther": null
      }
    ]
  },
  "WindowsServiveConfig": {
    "ServiceName": "",
    "SdkType": null,
    "LastEnvName": null,
    "EnvPairList": [
      {
        "EnvName": "docker-ubuntu-20.04",
        "ConfigName": "",
        "LinuxEnvParam": null,
        "DockerPort": null,
        "DockerEnvName": null,
        "DockerVolume": null,
        "DockerOther": null
      }
    ]
  },
  "LinuxServiveConfig": {
    "ServiceName": "",
    "EnvParam": "",
    "LastEnvName": null,
    "EnvPairList": [
      {
        "EnvName": "docker-ubuntu-20.04",
        "ConfigName": "",
        "LinuxEnvParam": null,
        "DockerPort": null,
        "DockerEnvName": null,
        "DockerVolume": null,
        "DockerOther": null
      }
    ]
  },
  "DockerConfig": {
    "Prot": "",
    "AspNetCoreEnv": "",
    "LastEnvName": "docker-ubuntu-20.04",
    "RemoveDaysFromPublished": "10",
    "Volume": "",
    "Other": "",
    "EnvPairList": [
      {
        "EnvName": "docker-ubuntu-20.04",
        "ConfigName": null,
        "LinuxEnvParam": null,
        "DockerPort": "",
        "DockerEnvName": "",
        "DockerVolume": "",
        "DockerOther": ""
      }
    ]
  }
}

2、项目添加 Dockerfile 文件,vs2022 鼠标右键选择【添加】=》【Docker支持】选择 Linux平台;

image.png

image.png

3、本地 vm 事先下载好 .net6 相关的基础镜像,准备基础镜像信息如下:

image.png

修改默认创建的 Dockerfile 文件,并在 vs 2022 里面设置文件属性为【始终赋值】,此处如果不写Dockerfile 文件,工具会默认生成一个;

image.png

image.png

image.png

image.png

此时基本环境都准好了,接下来我们使用 AntDeploy 工具离线版(V7.28)选择对应的项目 .csproj 文件,配置访问 vm 通信测试 Ok,然后配置腾讯云 Docker 私有镜像仓库,点击一键发布就完成了。

image.png

此处注意填写私有镜像仓库名称,这里吐槽一下腾讯云基本信息描述(表达意思误导人)

image.png

image.png

image.png

完整发布日志信息:

发布工具版本 AntDeploy-v7.29 版本,构建镜像的 Dcokerfile 文件受注释影响,待后续优化;

image.png

16:24:39|INFO|The Porject ENTRYPOINT name:NetServices.Jwt.dll,DotNetSDK.Version:5.0  
16:24:39|INFO|-----------------Start publish[Ver:7.29]-----------------  
16:24:39|INFO|CurrentProjectFolder:  file://G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt#link3
16:24:39|INFO|current project Path:G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt\NetServices.Jwt.csproj  
16:24:39|INFO|dotnet publish "G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt\NetServices.Jwt.csproj" -c Release -o "G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt\bin\Release\deploy_docker\docker-ubuntu-20.04\"  
16:24:39|INFO|Copyright (C) Microsoft Corporation. All rights reserved.  
16:24:40|INFO|  Determining projects to restore...  
16:24:40|INFO|  Determining projects to restore...  
16:24:42|INFO|  All projects are up-to-date for restore.  
16:24:42|INFO|  All projects are up-to-date for restore.  
16:24:43|INFO|  NetServices.Helper.Cache -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.Cache\bin\Release\net5.0\NetServices.Helper.Cache.dll  
16:24:43|INFO|  NetServices.Helper.RabbitMQ -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.RabbitMQ\bin\Release\net5.0\NetServices.Helper.RabbitMQ.dll  
16:24:43|INFO|  NetServices.Helper.RabbitMQ -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.RabbitMQ\bin\Release\net5.0\NetServices.Helper.RabbitMQ.dll  
16:24:43|INFO|  NetServices.Helper.Base -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.Base\bin\Release\net5.0\NetServices.Helper.Base.dll  
16:24:43|INFO|  NetServices.Helper.Base -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.Base\bin\Release\net5.0\NetServices.Helper.Base.dll  
16:24:43|INFO|  NetServices.Helper.RestTemplate -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.RestTemplate\bin\Release\net5.0\NetServices.Helper.RestTemplate.dll  
16:24:43|INFO|  NetServices.Helper.RestTemplate -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.RestTemplate\bin\Release\net5.0\NetServices.Helper.RestTemplate.dll  
16:24:44|INFO|  NetServices.Helper.Database -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.Database\bin\Release\net5.0\NetServices.Helper.Database.dll  
16:24:44|INFO|  NetServices.Helper.Database -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.Database\bin\Release\net5.0\NetServices.Helper.Database.dll  
16:24:44|INFO|  NetServices.Helper.Log -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.Log\bin\Release\net5.0\NetServices.Helper.Log.dll  
16:24:44|INFO|  NetServices.Helper.Log -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Helper.Log\bin\Release\net5.0\NetServices.Helper.Log.dll  
16:24:45|INFO|  NetServices.Jwt -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt\bin\Release\net5.0\NetServices.Jwt.dll  
16:24:45|INFO|  NetServices.Jwt -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt\bin\Release\net5.0\NetServices.Jwt.dll  
16:24:46|INFO|  NetServices.Jwt -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt\bin\Release\deploy_docker\docker-ubuntu-20.04\  
16:24:46|INFO|  NetServices.Jwt -> G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt\bin\Release\deploy_docker\docker-ubuntu-20.04\  
16:24:46|INFO|publish success  ==>   file://G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt\bin\Release\deploy_docker\docker-ubuntu-20.04#link26
16:24:46|INFO|-----------------Start package-----------------  
16:24:46|INFO|package ignoreList Count:0  
16:24:46|INFO|Find Dockerfile In Package: Dockerfile  
16:24:49|INFO|package success,package size:14M  
16:24:49|INFO|-----------------Deploy Start-----------------  
16:24:49|INFO|【Server】ssh connecting 172.27.94.126...   
16:24:50|INFO|【Server】Connected to chait@172.27.94.126:22 via SSH  
16:24:50|INFO|【Server】Changed directory to antdeploy/netservicesjwt/20201214162449/  
16:24:50|INFO|【Server】uploaded 9 %  
16:24:50|INFO|【Server】uploaded 21 %  
16:24:50|INFO|【Server】uploaded 32 %  
16:24:51|INFO|【Server】uploaded 44 %  
16:24:51|INFO|【Server】uploaded 59 %  
16:24:51|INFO|【Server】uploaded 71 %  
16:24:51|INFO|【Server】uploaded 83 %  
16:24:51|INFO|【Server】uploaded 94 %  
16:24:51|INFO|【Server】uploaded 100 %  
16:24:52|INFO|【Server】unzip -o -q antdeploy/netservicesjwt/20201214162449/publish.zip -d publish/  
16:24:52|INFO|【Server】unzip success: antdeploy/netservicesjwt/20201214162449/publish/  
16:24:52|INFO|【Server】Start Copy Files From [antdeploy/netservicesjwt/20201214162449/publish/] To [antdeploy/netservicesjwt/deploy/]  
16:24:52|INFO|【Server】Success Copy Files From [antdeploy/netservicesjwt/20201214162449/publish/] To [antdeploy/netservicesjwt/deploy/]  
16:24:52|INFO|【Server】Changed directory to antdeploy/netservicesjwt/deploy/  
16:24:52|WARN|【Server】Volume in dockerFile is not defined  
16:24:52|WARN|【Server】Docker Run Other Args in dockerFile is not defined  
16:24:52|INFO|【Server】Add EXPOSE 5000 to dockerFile  : 【antdeploy/netservicesjwt/deploy/Dockerfile】  
16:24:52|INFO|【Server】Update DockerFile 【 \cp -rf antdeploy/netservicesjwt/deploy/Dockerfile antdeploy/netservicesjwt/20201214162449/publish/】  
16:24:52|WARN|【Server】--name in Other Args is not defined  
16:24:52|INFO|【Server】 docker build --no-cache --rm -t netservicesjwt:20201214162449 -f antdeploy/netservicesjwt/deploy/Dockerfile antdeploy/netservicesjwt/deploy/   
16:24:53|INFO|【Server】Sending build context to Docker daemon  43.74MB  
16:24:53|INFO|【Server】Step 1/6 : FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim  
16:24:53|INFO|【Server】 ---> 1ad38cdee8b3  
16:24:53|INFO|【Server】Step 2/6 : COPY . /publish  
16:24:57|INFO|【Server】 ---> 89c1e9311f25  
16:24:57|INFO|【Server】Step 3/6 : WORKDIR /publish  
16:24:58|INFO|【Server】 ---> Running in ce10c33d6846  
16:25:00|INFO|【Server】Removing intermediate container ce10c33d6846  
16:25:00|INFO|【Server】 ---> ab9847d605e3  
16:25:00|INFO|【Server】Step 4/6 : EXPOSE 8002  
16:25:02|INFO|【Server】 ---> Running in e8411eb8a13e  
16:25:03|INFO|【Server】Removing intermediate container e8411eb8a13e  
16:25:03|INFO|【Server】 ---> c2e707157198  
16:25:03|INFO|【Server】Step 5/6 : EXPOSE 5000  
16:25:05|INFO|【Server】 ---> Running in 38a502ae6f0b  
16:25:07|INFO|【Server】Removing intermediate container 38a502ae6f0b  
16:25:07|INFO|【Server】 ---> ae6797201035  
16:25:07|INFO|【Server】Step 6/6 : ENTRYPOINT ["dotnet", "NetServices.Jwt.dll"]  
16:25:08|INFO|【Server】 ---> Running in b10cbf0cad95  
16:25:10|INFO|【Server】Removing intermediate container b10cbf0cad95  
16:25:10|INFO|【Server】 ---> 8eb53a301a0f  
16:25:10|INFO|【Server】Successfully built 8eb53a301a0f  
16:25:11|INFO|【Server】Successfully tagged netservicesjwt:20201214162449  
16:25:11|WARN|【Server】ignore docker run  
16:25:11|WARN|【Server】[upload image] - set -e; docker login -u [user] -p [pwd] ccr.ccs.tencentyun.com;  docker tag 8eb53a301a0f ccr.ccs.tencentyun.com/sws-center-ol-service-dev/rg-sws-center-ol-dev-2069:jwt-v1.0.0; docker push ccr.ccs.tencentyun.com/sws-center-ol-service-dev/rg-sws-center-ol-dev-2069:jwt-v1.0.0  
16:25:11|WARN|【Server】[upload image] - Login Succeeded  
16:25:12|WARN|【Server】[upload image] - The push refers to repository [ccr.ccs.tencentyun.com/sws-center-ol-service-dev/rg-sws-center-ol-dev-2069]  
16:25:12|WARN|【Server】[upload image] - 04b1dc15379b: Preparing  
16:25:12|WARN|【Server】[upload image] - 064d1568f66a: Preparing  
16:25:12|WARN|【Server】[upload image] - 8c8ce230525b: Preparing  
16:25:12|WARN|【Server】[upload image] - ac1439b965df: Preparing  
16:25:12|WARN|【Server】[upload image] - b22af9287e60: Preparing  
16:25:12|WARN|【Server】[upload image] - f5600c6330da: Preparing  
16:25:12|WARN|【Server】[upload image] - f5600c6330da: Waiting  
16:25:12|WARN|【Server】[upload image] - 8c8ce230525b:   
16:25:12|WARN|【Server】[upload image] - Layer already exists  
16:25:12|WARN|【Server】[upload image] - 064d1568f66a:   
16:25:12|WARN|【Server】[upload image] - Layer already exists  
16:25:12|WARN|【Server】[upload image] - b22af9287e60:   
16:25:12|WARN|【Server】[upload image] - Layer already exists  
16:25:13|WARN|【Server】[upload image] - ac1439b965df:   
16:25:13|WARN|【Server】[upload image] - Layer already exists  
16:25:13|WARN|【Server】[upload image] - f5600c6330da:   
16:25:13|WARN|【Server】[upload image] - Layer already exists  
16:25:18|WARN|【Server】[upload image] - 04b1dc15379b:   
16:25:18|WARN|【Server】[upload image] - Pushed  
16:25:21|WARN|【Server】[upload image] - jwt-v1.0.0: digest: sha256:1c165fdc9dbd311692000812771e39c97397dee747001887b032ad127abe05c5 size: 1583  
16:25:21|INFO|【Server】[upload image] - Success  
16:25:21|INFO|publish Host: 172.27.94.126【docker】 End  
16:25:21|INFO|Deploy Version:20201214162449  
16:25:21|INFO|local publish folder  ==>   file://G:\SvnProject\HCIMS_V3.1_Online\Project\Services\SwsXytxMsServices\branches\v1.0\NetServices.Jwt\bin\Release\deploy_docker\docker-ubuntu-20.04#link105
16:25:21|INFO|-----------------Deploy End,[Total]:1,[Fail]:0-----------------  

最后查看腾讯云平台私有镜像仓库,显示信息如下:

image.png

以上就是完整的发布构建镜像过程,有帮助到小伙伴的欢迎点赞分享,在这里也由衷感谢工具原创者不吝赐教的指点交流!

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
7天前
|
存储 JSON 数据格式
docker load 后镜像名称为空的问题解决
Docker在容器化应用程序时提供了强大的镜像管理功能,但也可能在某些操作中遇到如镜像名称为空的问题。通过理解问题的成因并采取适当的解决方案,如正确保存和加载镜像、手动修复标签等,可以有效避免和解决这一问题。通过本文提供的指导,您可以确保在使用Docker进行镜像操作时更为顺利,并提高容器管理的效率。
104 82
|
1天前
|
存储 开发工具 开发者
揭秘 Microsoft.Docker.SDK:让容器开发更轻松的强大工具揭秘
随着云计算和容器技术的快速发展,`Docker` 已经成为容器化技术的事实标准。`Microsoft` 作为 `Docker` 的主要支持者和参与者,推出了 `Microsoft.Docker.SDK`,旨在帮助开发者更轻松地进行容器开发。本文将深入揭秘 Microsoft.Docker.SDK 的功能、使用方法以及它在容器开发中的应用。
34 12
|
9天前
|
SQL Linux 数据库
YashanDB Docker镜像制作
本文介绍了使用Docker部署YashanDB数据库的方法及其优势。相比传统部署方式,Docker简化了环境配置,实现一键部署,确保软件在不同环境中一致运行。文章详细讲解了数据库镜像与容器的概念、Dockerfile的构建流程,以及如何通过Dockerfile定制YashanDB镜像。此外,还演示了镜像的发布过程,包括推送至阿里云容器镜像服务(ACR)。最后,探讨了容器启动时的初始化脚本设置和数据文件复用方法,满足客户对数据库自动化初始化和数据持久化的需求。
|
8天前
|
开发工具 虚拟化 git
自学软硬件第755 docker容器虚拟化技术youtube视频下载工具
docker容器虚拟化技术有什么用?怎么使用?TubeTube 项目使用youtube视频下载工具
|
1月前
|
人工智能 文字识别 安全
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
103 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
|
26天前
|
存储 运维 应用服务中间件
Docker Image即Docker镜像
Docker 镜像是 Docker 容器的基础,包含了运行应用程序所需的一切。通过 Dockerfile 可以方便地创建自定义镜像,并且利用 Docker 提供的命令可以轻松管理和使用这些镜像。掌握 Docker 镜像的创建、管理和使用,是进行容器化应用开发和部署的基础技能。希望本文能帮助读者更好地理解 Docker 镜像的概念和操作,提高开发和运维效率。
92 13
|
1月前
|
消息中间件 Kafka 流计算
docker环境安装kafka/Flink/clickhouse镜像
通过上述步骤和示例,您可以系统地了解如何使用Docker Compose安装和配置Kafka、Flink和ClickHouse,并进行基本的验证操作。希望这些内容对您的学习和工作有所帮助。
206 28
|
26天前
|
JavaScript Shell C#
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
114 2
|
2月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
232 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
7月前
|
存储 安全 Ubuntu
Docker 镜像与 Docker 容器的区别
【8月更文挑战第27天】
558 5
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等