docker - 我必须使用私有(private) Docker 注册表来保持我的源私有(private)吗?

标签 docker docker-compose

我最近刚开始玩 Docker,想知道我是否不打算公开我的代码,这是否意味着我必须为私有(private) Docker 注册表付费?

我问的原因是,从我正在关注的教程看来,在将容器部署到生产环境时,我必须以某种方式从 Docker 注册表中提取它。除非我可以将容器直接从本地计算机推送到生产环境,否则我必须首先将容器推送到公共(public) Docker 注册表。但是,我的容器通常已经有我的源代码副本,该副本是从我的开发机器上的卷中复制的。所以我可能不想在注册表上公开每个源代码。

从这个意义上说,这是否意味着如果我不想公开我的源代码,我肯定必须为使用 Docker 付费?我可以将容器直接从本地计算机推送到生产服务器而不通过 Docker 注册表吗?还是我以错误的方式使用 Docker?

最佳答案

您不需要将镜像推送到 Dockerhub 等公共(public)注册表。您可以部署自己的 docker 注册表(它自行打包在 docker 容器中)并使用该私有(private)注册表来推送和拉取图像。

注册表的部署过程可以在 official docs 中找到。 .

或者,您可以将图像打包为 tar 球,将 tar 球上传到生产服务器,将 tar 球导入回 docker 图像并启动容器。

docker save --output image.tar IMAGE // save the image into a tar ball
docker import image.tar IMAGE // on another server, import the image back from tar.

关于docker - 我必须使用私有(private) Docker 注册表来保持我的源私有(private)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48202620/

相关文章:

docker - 如何从 docker 容器配置 go sdk 和 GOPATH?

docker - 使用JetBrains Rider调试dotnet核心dockerized应用程序

DockerHub 在自动构建中设置标签别名

docker-compose 容器间通信

maven - docker |如何在 Docker 托管的 jboss 容器中构建和部署 war 文件

docker - Docker-compose --force-recreate特定服务

django - docker-compose 用于纯数据容器和 Web 服务器 postgresql

docker - Docker-Compose 共享卷的相对路径

docker - gitlab ci/cd 转轮卡住了

docker - lein 环服务器在 docker 容器内抛出 java.io.FileNotFoundException