我有几个由经典 Docker 命令启动的正在运行的容器。这些容器正在使用同样是“手动”创建的 Docker 网络:
docker network create simple-network
docker run -d \
--name docker-registry \
--net=simple-network \
-p 5000:5000 \
-v [...] \
registry:2.3.0
docker run -d \
--name docker-registry-web \
--net=simple-network \
-p 8080 \
-v [...] \
hyper/docker-registry-web
docker run -d \
--name nginx \
--net=simple-network \
-p 80:80 \
-p 443:443 \
-v [...] \
nginx:1.9.8
我想使用 Docker Compose 来运行这些容器,因为它更易于管理。
是否可以像下面这样将这些容器迁移到 Docker Compose,或者只能将 compose 与新的容器一起使用?
我想在此迁移期间使用相同的卷!停机时间不是问题。
docker-compose.yml
version: '2'
docker-registry:
image: registry:2.3.0
ports:
- "5000:5000"
volumes:
- [...]
docker-registry-web:
image: hyper/docker-registry-web
expose:
- "8080"
volumes:
- [...]
nginx:
image: nginx:1.9.8
ports:
- "80:80"
- "443:443"
volumes:
- [...]
最佳答案
要重新使用现有的网络,您可以使用
networks:
default:
external:
name: simple-network
要重复使用卷,这取决于它们是什么类型的卷。如果它们被命名为卷,您可以执行类似的操作:
volumes:
data:
external:
name: the_name_of_the_volume
然后您将在服务中使用 volumes: [data] 来使用它。
如果它们是主机卷,那真的很简单,只需使用相同的配置即可。
如果它们是未命名的卷,您可以将卷 ID 用作外部卷(与使用命名卷的方式相同)。
重复使用容器是不可能的。您可以让 Compose 接管 docker 创建的容器,但它们需要有正确的 labels。查找标签的最简单方法是 docker inspect 一个由 compose 创建的容器以查看键/值。由于无论如何您都必须重新创建一个容器来应用标签,因此停止它们并 up 撰写可能更容易。
关于docker - 将现有 Docker 容器迁移到 Docker Compose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35297571/
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
我正在创建一个新的Rails3.1应用程序。我希望这个新应用程序重用现有数据库(由以前的Rails2应用程序创建)。我创建了新的应用程序定义模型,它重用了数据库中的一些现有数据。在开发和测试阶段,一切正常,因为它在干净的表数据库上运行,但是当尝试部署到生产环境时,我收到如下消息:PGError:ERROR:column"email"ofrelation"users"alreadyexists***[err::localhost]:ALTERTABLE"users"ADDCOLUMN"email"charactervarying(255)DEFAULT''NOTNULL但是我在迁移中有这
在我的Rails项目中,我有三个模型:classRecipe:recipe_categorizationsaccepts_nested_attributes_for:recipe_categories,allow_destroy::trueendclassCategory:recipe_categorizationsendclassRecipeCategorization通过这个简单的has_many:through设置,我怎样才能像这样获取给定的食谱:@recipe=Recipe.first并根据现有类别向此食谱添加类别,并在相应类别上对其进行更新。所以:@category=#Exi
我有一个简单的问题,与关联有关。我有一个书的模型,它有_onereservation。预订属于_书本。我想在预订Controller的创建方法中确保在预订时没有预订一本书。换句话说,我需要检查该书是否存在任何其他预订。我该怎么做?编辑:Aaa我做到了,感谢大家的提示,学到了一些新东西。当我尝试提供的解决方案时,出现no_method错误或nil_class等。这让我开始思考,我尝试处理的对象根本不存在。Krule给了我使用book.find的想法,所以我尝试使用它。最终我得到了它的工作:book=Book.find_by_id(reservation_params[:book_id])
这是我在ChefRecipe中的一blockRuby:#ifdatadirdoesn'texist,moveoverthedefaultoneif!File.exist?("/vol/postgres/data")execute"mv/var/lib/postgresql/9.1/main/vol/postgres/data"end结果是:Executingmv/var/lib/postgresql/9.1/main/vol/postgres/datamv:inter-devicemovefailed:`/var/lib/postgresql/9.1/main'to`/vol/post
我在向表中添加不可为空的列时遇到问题。我看了很多关于这个的帖子,它应该是正确的。迁移代码:defchangeadd_column:individual_trainings,:start_on,:timeadd_column:individual_trainings,:end_on,:timechange_column_null:individual_trainings,:start_on,falsechange_column_null:individual_trainings,:end_on,falseend错误:PG::NotNullViolation:ERROR:column"st
为现有模型生成单个文件(_form.html.erb)的命令是什么?在Rails3中工作。谢谢。 最佳答案 这听起来可能很傻,但请听我说完……当我想开始清洁时,我自己也做过几次这样的事情。以下是一个脚本,它将读取您的模式并生成必要的生成命令来重现它:require'rubygems'require'active_support/core_ext'schema=File.read('db/schema.rb')schema.scan(/create_table"(\w+)",.*?\n(.*?)\nend/m).eachdo|name
我在app/classes文件夹中有一些现有的ruby类:classA...endclassB...end我想将这些类分组到一个模块MyModule中我知道我可以这样做:moduleMyModuleclassA...endclassB...endend但是是否有元编程快捷方式可以执行相同的操作以便我可以“导入”所有现有类?谢谢,吕克 最佳答案 moduleFooA=::AB=::BendFoo::A.new.bar请注意,常量上的::前缀首先开始搜索全局命名空间。就像路径名上的前导/一样。这使您可以将全局类A与模块化常量Foo:
我正在尝试使用docker运行一个Rails应用程序。通过github的sshurl安装的gem很少,如下所示:Gemfilegem'swagger-docs',:git=>'git@github.com:xyz/swagger-docs.git',:branch=>'my_branch'我在docker中添加了keys,它能够克隆所需的repo并从git安装gem。DockerfileRUNmkdir-p/root/.sshCOPY./id_rsa/root/.ssh/id_rsaRUNchmod700/root/.ssh/id_rsaRUNssh-keygen-f/root/.ss
使用Rails3.2.2和ruby1.9.3dev和mysql我是ruby和rails的新手。我们有一个包含数百个表的现有数据库。我们想试用Rails,看看它是否会对PHP和ZendFramework产生积极的影响。将数据迁移到另一个数据库对我们来说不是一个选择,因为我们目前有几个其他应用程序正在使用这个数据库。我们想将Rails项目“附加”到现有数据库。我努力的部分是从我们现有的数据库生成所有模型。我看到一些较旧的帖子谈论一些自动化技术,包括MagicModelGenerator.虽然其他人谈论没有办法做到这一点,或者您只能手动创建它们。我没有成功使用MagicModelGene