Tag:

多播与Docker群和覆盖networking

我正在testing一个应用程序使用多播发现。 我创build了一个Swarm集群和一个network create -d overlay swarm-net以便这些容器在几个Swarm代理主机之间共享同一个LAN。 这个发现似乎不起作用,所以我安装了tshark 。 tshark显示tshark正在运行的IP地址节点,并且通过tshark 发送的包的多播地址不显示任何传入的多播包。 请注意,由于我不知道更好的方法,容器运行时使用–privileged来启用tshark 。 还要注意容器可以相互通信。 多播由于Docker的iptable而被阻塞? 如何在覆盖networking中启用组播?

更新从自定义的dockerfile创build的容器

在此之前,我已经阅读了这个问题及其中的相关链接,但我仍然对如何解决这个问题感到困惑。 我写了自己的docker文件来安装Archiva,与这个文件非常相似。 我使用docker build -t archiva .从docker build -t archiva .文件创build了一个图像docker build -t archiva . 并有一个容器,我使用docker run archiva 。 如docker文件中所见,我想保留的用户数据位于一个volume 。 现在我想升级到Archive 2.2.0。 如何更新我的容器,以便卷中的用户数据被保留? 如果我通过h =更改版本号来更改docker文件,并再次运行docker build ,它将只创build另一个容器。

Docker Swarm Master应该是独立的物理节点吗?

我正在进入Docker Swarm,这里是我找不到答案的问题… 我有3个物理主机,我想创build一个集群。 我应该使用单独的(第四)物理主机运行Swarm master,还有一个用于KV store,或者我可以在这三台主机之一运行它们,仍然可以将它们全部用作Swarm节点? 谢谢。

Docker将容器推送到私有registry

我有一个应用程序使用几个docker集装箱: NGINX容器 NodeJS启动应用程序容器 Rediscaching容器 由于我为上述两个容器使用现有的图像,我也有两个caching容器: 高山 Redis的 我正在尝试将我的容器(1,2和3)推送到AWS Elastic Container Registry(ECR)。 我已经能够做到这一点,但已经注意到我的caching容器(4&5)也得到了推动。 我使用docker-compose构build容器,然后像这样标记: docker tag -f nodejs_app:latest <repository URL>:latest 在用docker login进入ECR后,我使用这个命令: docker push <repository URL>:latest 然后,Docker将所有5个容器推入registry中。 我怎么只推送我关心的容器,而不是caching的容器呢? 提前致谢 :-)

502通过Jwilder的Nginx代理访问虚拟主机时出现错误的网关

我有一个运行在同一主机上的Nginx代理(Jwilder,默认configuration)和Gitlab实例。 git.myhost.com指向主机IP。 当使用下面docker-compose.yml启动Gitlab时,我在访问http://git.myhost.com时遇到了502 Bad Gateway 。 在nginx-proxy容器中生成的/etc/nginx/conf.d/default.conf也很好看: upstream git.myhost.com { # 2ab9168d-c69e-4725-8c20-31a194ad8d07 server 172.17.0.13 vhost; } server { server_name git.myhost.com; listen 80 ; access_log /var/log/nginx/access.log vhost; location / { proxy_pass http://git.myhost.com; } } 我究竟做错了什么? 这里是Gitlab的docker-compose.yml : gitlab-server: hostname: git.myhost.com expose: – "8100" ports: – 8101:22/tcp # – 8100:8100/tcp labels: io.rancher.sidekicks: gitlab-data environment: GITLAB_OMNIBUS_CONFIG: | external_url […]

为多个Docker容器使用域而不是端口

我正在为多个网站创buildDocker环境。 我已经决定要为每个域分开具有多个容器docker-compose.yml文件。 目前我有这样的事情: web: image: nginx:latest volumes: – /c/Users/marcin/dock-test/html/test-laravel-project-2/:/usr/share/nginx/html/test-laravel-project-2/ – /c/Users/marcin/dock-test/nginx-conf/conf.d2/:/etc/nginx/conf.d – /c/Users/marcin/dock-test/nginx-log/:/var/log/nginx ports: – "8088:80" working_dir: /usr/share/nginx/html/test-laravel-project-2/ links: – php – db container_name: lara.web environment: – VIRTUAL_HOST='l2.app' – VIRTUAL_NETWORK='nginx-proxy' expose: – 8088 php: build: ../dockerfiles/ dockerfile: Dockerfile-php7-fpm volumes: – /c/Users/marcin/dock-test/html/test-laravel-project-2/:/usr/share/nginx/html/test-laravel-project-2/ – /c/Users/marcin/dock-test/php-config/:/usr/local/etc/php/ working_dir: /usr/share/nginx/html/ links: – db container_name: lara.php db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: […]

docker-compose / wordpress权限错误卷挂载

我的docker-compose.yml wordpress: image: wordpress links: – wordpress_db:mysql ports: – 8080:80 volumes: – /tmp/html/:/var/www/html wordpress_db: image: mysql:5.6.29 environment: MYSQL_ROOT_PASSWORD: password phpmyadmin: image: corbinu/docker-phpmyadmin links: – wordpress_db:mysql ports: – 8181:80 environment: MYSQL_USERNAME: root MYSQL_ROOT_PASSWORD: password 当我做 sudo / usr / local / bin / docker-组合起来 我得到了很多这些 wordpress_1 | tar: ./wp-content/plugins/akismet/views/stats.php: Cannot open: No such file or directory […]

使用docker时避免双包安装

我使用泊坞窗作为我的开发环境与我的rails应用程序与以下docker-compose.yml : app: build: . ports: – "3000:3000" links: – db – mail volumes: – .:/usr/src/app – gemrc:/etc/gemrc db: image: mdillon/postgis ports: – "5432:5432" environment: – POSTGRES_USER=user – POSTGRES_PASSWORD=password – POSTGRES_DB=database volumes: – ./docker/pgdata:/var/lib/postgresql/data mail: image: djfarrelly/maildev ports: – "1080:80" 和我的Dockerfile : FROM rails:onbuild 当我需要添加一个新的gem到我的Gemfile时,我必须先生成我的Gemfile.lock : docker run –rm -v gemrc:/etc/gemrc -v /home/user/project:/usr/src/app -w /usr/src/app […]

Swarm主节点应该作为单节点集群中的节点join吗?

我们正在build立一个小型集群,一个(奇怪的)要求是把所有东西都放在一台机器上,其他机器可以在未来join。 我设立了领事: docker run -d -p 8500:8500 –name=consul progrium/consul -server -bootstrap 和主人一起: docker run -d -p 4000:4000 swarm manage -H :4000 –advertise <ip_here>:4000 consul://<ip_here>:8500 docker工人在哪里运行: sudo docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 和docker -H :4000 info在此阶段将节点列为0,因为在docker -H :4000 run <image>中我无法运行任何映像,因为No healthy node available in the cluster. 当我通过以下方式将主节点join到群集中时: docker run -d swarm join –advertise=<ip_here>:2375 consul://<ip_here>:8500 然后docker […]

使用docker-composelogging:我可以同时使用两个驱动程序吗?

我正在使用docker-compose 1.7.1来启动一些容器和gelf来将所有日志发送到ELK安装。 它工作正常,但是,我们仍然在学习如何使用整个设置,并且在Docker标准输出中查看日志(因此可以通过执行docker logs可以访问)非常方便。 所以,我的问题是:有没有办法同时使用两个驱动程序? 我试过了,但第一个驱动程序被忽略了: logging: driver: json driver: gelf options: gelf-address: "udp://${ELK_HOST_IP}:12201" 您是否知道其他方式查看可能不涉及Docker组合日志logging驱动程序的标准输出中的日志? 谢谢!