我使用单独的YAML可以轻松地停止一个容器,而不停止另一个容器。
为了解决这个任务,我使用了Docker-Compose的桥接网络功能。所以我使用了以下两个YAML:
networks:
wnet:
driver: bridge
services:
mongodb:
image: mongo:4.0.9
container_name: mongodb
ports:
- "27018:27017"
volumes:
- mongodb-data:/data/db
logging: *default-logging
restart: unless-stopped
networks:
- wnet
volumes:
mongodb-data:
name: mongodb-data
和
networks:
wnet:
driver: bridge
services:
logger:
build:
context: .
image:logger:$VERSION
container_name:logger
environment:
- TARGET=$TARGET
volumes:
- ./data:/data
restart: unless-stopped
networks:
- wnet
from pymongo import MongoClient
client = MongoClient(port=27018, host='mongodb') # V1
client = MongoClient(port=27018) # V2
db = client['dbname']
db.list_collection_names()
db.get_collection('aaa').insert_one({ 'a':1 })
pymongo.errors.ServerSelectionTimeoutError: mongodb:27018: [Errno -2] Name or service not known
最后起作用的是通过其组合名称(mongoDB+wnet
=mongodb_wnet
)引用网络(在容器mongoDB
中定义),并添加external
选项。这使得logger
容器的YAML文件看起来如下所示:
services:
logger:
build:
context: .
image: logger:$VERSION
container_name: logger
environment:
- TARGET=$TARGET
volumes:
- ./data:/data
restart: unless-stopped
networks:
- mongodb_wnet
networks:
mongodb_wnet:
external: true
但是,正如@bellybuster提到的,使用一个docker-compose文件可能是个好主意。我不知道启动、停止和构建属于同一个YAML的单个容器是非常容易的。
在这方面也有足够的文章,例如,如何用docker-compose和/或docker-compose构建单个容器来重新启动单个容器。
我花了一点时间浏览堆栈溢出和互联网寻找我的问题的答案,但是我发现所有的答案都很难理解,我不确定它们中是否有任何一个与我的问题相关,所以我决定我需要帮助正确的背景。 我正在创建一个程序,将根据输入的特定类型的图形给出一系列解决方案。我真诚地挣扎着在第一个JFrame中从我的JComboBox中获取数据,并在第二个JFrame中显示它。 我有两个类,GraphEquationSolverGUI和定义方
我正在使用Eclipse和Jboss开发EJB2.0项目。下面是代码示例: 09:33:50,273 INFO[org.jboss.as.ejb3.deployment.processors.ejbJNDIBindingsDeploymentUnitProcessor](MSC service thread 1-3)部署单元部署“ejbProject1.jar”中名为AdviceBean的会话be
这表明Docker postgresql(正在运行)在该端口不可用。我尝试将添加到我的中,但没有成功。有什么提示吗?
我试图使用maven plugin增强来自另一个Jar的实体类,不幸的是,我没有找到正确的方法。 所以我的问题是:为了能够在构建时增强来自外部Jar的类,我需要配置什么?
我有一个 docker 17.05.0-ce,在 ubuntu 服务器 16.04 LTS 上构建 89658be。我有一个Postgres在容器中运行并公开端口5432。 我可以从任何地方连接它,除了psql只是超时的同级容器。作为地址,我使用主机的IP。从客户端Ping有效,而psqlconnect无效。 我知道我可以用组合的Postgres服务创建一个docker-compose,但宁愿不这
我试图在不运行的情况下访问一个docker映像,我只想知道它包含什么以进行验证。我不能ssh到容器中,因为它只需要一秒钟就结束了,所以我需要探索图像而不是容器。或者在容器完成之前是否有访问容器的权限?