草庐IT

docker - 在不使用 docker 机器的情况下部署 docker swarm

目前我有一堆RHEL7虚拟机在RackSpace上运行,并且想要部署dockerswarm进行测试。Docker文档仅描述了使用dockermachine部署dockerswarm的方法。问题:由于VirtualBox不能在VM中使用,还有其他方法可以让我在不使用docker机器的情况下直接在我的VM上部署dockerswarm吗? 最佳答案 事实上,Docker文档为您提供了如何在不使用docker-machine的情况下“手动”设置swarm集群:Createaswarmfordevelopment

docker-compose 没有 swarm 的 secret

我不想在swarm中使用dockersecrets,我发现这样做是可能的。基本上docker只是在docker容器中挂载/run/secrets,但是当我进入新建的docker容器并执行echo$POSTGRES_PASSWORD_FILE时,我得到了我的secret文件的路径。root@94a0f092eeb1:/#echo$POSTGRES_PASSWORD_FILE/run/secrets/db_password这是我的docker-compose.yml文件version:'3.1'services:postgres:image:postgres:9.4container_na

docker-compose 没有 swarm 的 secret

我不想在swarm中使用dockersecrets,我发现这样做是可能的。基本上docker只是在docker容器中挂载/run/secrets,但是当我进入新建的docker容器并执行echo$POSTGRES_PASSWORD_FILE时,我得到了我的secret文件的路径。root@94a0f092eeb1:/#echo$POSTGRES_PASSWORD_FILE/run/secrets/db_password这是我的docker-compose.yml文件version:'3.1'services:postgres:image:postgres:9.4container_na

database - 带有数据 : shared volume vs clustering vs single instance 的 Docker Swarm

我迈出了使用DockerSwarm的第一步,想知道如何处理使用持久性数据的服务,如redis、elasticsearch或数据库。我找到了很多关于如何使用dockerswarm配置redis/elasticsearch/database集群的教程——但是使用共享存储不是更容易吗?例如,我使用Azure,所以我可以简单地将单个Azure文件存储用作redis/elasticsearch/数据库卷,并让我的所有节点安装这个文件存储。这是一种可接受的方法还是存在一些明显的缺点(例如,当两个或多个数据库实例尝试同时写入该存储时)?是否建议在每个节点中使用此类“数据”服务?或者我应该只将Dock

Docker Swarm Redis 和 Sentinel with master-slave replication IP resolution client failure

我遇到了一个问题,我不确定如何解决这个问题。我的redissentinel生态系统如下:3哨兵集群-->使用docker-compose管理1master和2slave我已经为生态系统创建了一个dockeroverlay网络,并使用dockerstackdeploy来运行dockercomposeyml。每个节点上的redis-cli显示正确的信息配置。但是,外部客户遇到了问题。当我向客户端应用程序提供哨兵地址时(在我的例子中,它是一个springredis应用程序),我得到了主redis的覆盖网络的内部IP地址。这对客户端来说是不可识别的,并且它失败了。如何获取外部可解析的IP地址?

docker - 以 swarm 模式运行 Elasticsearch 容器

Elasticsearch设计为在集群模式下运行,我所要做的就是通过环境变量定义集群中的相关节点IP,只要网络连接可用,它就会将其他节点连接并加入集群。我有3个节点,1个充当dockerswarm管理器,另外两个是worker。我已经初始化了管理器并加入了工作节点,从这个角度来看一切都很好。现在我正在尝试以允许我将所有节点加入同一个elasticsearch集群的方式运行elasticsearch容器,但是,我希望节点使用它们的覆盖网络接口(interface)加入,这意味着我需要在运行dockerservicecreate命令时知道容器内部IP地址,我该怎么做?我必须使用consul

docker - 以 swarm 模式运行 Elasticsearch 容器

Elasticsearch设计为在集群模式下运行,我所要做的就是通过环境变量定义集群中的相关节点IP,只要网络连接可用,它就会将其他节点连接并加入集群。我有3个节点,1个充当dockerswarm管理器,另外两个是worker。我已经初始化了管理器并加入了工作节点,从这个角度来看一切都很好。现在我正在尝试以允许我将所有节点加入同一个elasticsearch集群的方式运行elasticsearch容器,但是,我希望节点使用它们的覆盖网络接口(interface)加入,这意味着我需要在运行dockerservicecreate命令时知道容器内部IP地址,我该怎么做?我必须使用consul

linux - 在 Docker compose 中限制可用的主机资源而不使用 swarm

我只是想在一个docker-compose文件中限制一些Docker容器的资源。原因很简单:主机上运行着多个应用程序/服务。所以我想避免单个容器可以使用例如所有内存,这会损害其他容器。从我了解到的文档中,这可以使用resources来完成。但这超出了deploy的范围。所以我必须像下面的例子那样编写我的docker-compose文件:php:image:php:7-fpmrestart:alwaysvolumes:-./www:/wwwdeploy:resources:limits:memory:512M这给了我警告:WARNING:Someservices(php)usethe'd

linux - 在 Docker compose 中限制可用的主机资源而不使用 swarm

我只是想在一个docker-compose文件中限制一些Docker容器的资源。原因很简单:主机上运行着多个应用程序/服务。所以我想避免单个容器可以使用例如所有内存,这会损害其他容器。从我了解到的文档中,这可以使用resources来完成。但这超出了deploy的范围。所以我必须像下面的例子那样编写我的docker-compose文件:php:image:php:7-fpmrestart:alwaysvolumes:-./www:/wwwdeploy:resources:limits:memory:512M这给了我警告:WARNING:Someservices(php)usethe'd

docker - "network not manually attachable"对 docker swarm 网络运行一次性命令时

我正在尝试运行一次性命令来初始化新dockerswarm中的数据库架构,该dockerswarm部署了1.13对docker-compose文件的新支持。swarm有以下网络:$dockernetworklsNETWORKIDNAMEDRIVERSCOPE...b7dptlu8zyqavme_internaloverlayswarm...在docker-compose.yml文件中定义为:networks:internal:我运行的命令是dockerrun--rm--networkvme_internalapp:0.1dbupgrade额外的vme_前缀来self在部署时为堆栈提供的名