Articles of Docker

主机重启后如何重启KVM网桥?

我在192.168.0.4上有一个KVM主机,一个桥接networking适配器可以在192.168.0.9上运行一个guest虚拟机,这个guest虚拟机可以连接到192.168.0.0/24整个networking或者连接数周。 现在,我不得不重新启动主机,客户端虚拟机也重新启动,但不能连接到networking上除主机之外的任何地方。 我可以从主机ssh [email protected] 192.168.0.9连接到它,从客人我可以连接回主机上的IP 192.168.0.4,但没有别的是可连接的。 我觉得有一些服务丢失,我需要重新启动后重新启动主机告诉networking适配器连接外部连接。 或者也许dockernetworking接口没有在重新启动后正确初始化防火墙。 但我不知道; 我该怎么办? 谢谢 从KVM主机输出 brctl show bridge name bridge id STP enabled interfaces br-238782ed063f 8000.0242e81a340a no br0 8000.7085c2060a8a no enp5s0 vnet0 docker0 8000.02427d14b9fa no virbr0 8000.52540044738a yes virbr0-nic ifconfig -a br0 Link encap:Ethernet HWaddr 70:85:c2:06:0a:8a inet addr:192.168.0.4 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::7285:c2ff:fe06:a8a/64 Scope:Link UP BROADCAST RUNNING MULTICAST […]

将Docker同时用于长时间运行和短时间运行的进程是否合适?

假设我正在构build一个调整和优化图像文件的微服务。 这是一个长时间运行的守护进程,它提供了一个HTTP API来响应标准的GET / POST响应。 根据我对Docker的了解,这是一个集装箱化的完美用例 – 一个进程(HTTP服务器守护进程)无限期地运行在专用容器中。 对我来说,事情变得模糊的是,如果我们更深入地考虑这个服务的可能的构build方式。 比方说,对于每一个进来的请求,服务都会产生一个ImageMagick进程来调整图像的大小,然后是另一个pngquant或类似的进程来减小文件的大小。 由于这些程序将处理可能不可靠的用户提供的图像数据,所以一旦这些新版本发布,就能够将每个组件更新到最新的可用版本,这一点很重要。 但是,我如何根据Docker镜像和容器来分解这些组件呢? 我已经提出了一些不同的方法,但似乎仍然缺less一些东西: 一个大容器 在构buildHTTP API容器时,同时安装/编译ImageMagick / pngquant实用程序。 至于API守护进程知道,就像在任何其他计算机上运行。 要更新一个二进制文件,重build整个容器(即使API守护进程本身没有改变)。 如果需要独立testing/开发ImageMagick,可能会很尴尬,因为这不是这个容器布局的重点。 2.容器运行容器。 HTTP API是它自己的容器,ImageMagick是它自己的容器,pngquant是它自己的容器,等等。 当API处理需要调用这些实用程序之一的请求时,API代码会启动一个容器来转换一个图像文件,并且一旦转换完成,该容器就会被销毁。 据我所知,HTTP API代码需要一些非常高的权限才能创build一个新的容器; 从安全的angular度来看,这可能不是合理的做法。 3.包装和胶水。 将ImageMagick和pngquant包装在自定义的长时间运行的守护程序代码中,这样这些容器永远不必退出。 根据需要让HTTP API容器通过Dockernetworking与其他人进行通信。 似乎有许多毫无意义的间接和复杂性,没有真正的好处。 4.关于图像构图的东西,我失踪了。 它看起来并不像一个干净的方式,可以从多个可独立replace的图像中“拼凑”出一个容器。 如果有一种方法可以将包含ImageMagick,pngquant和HTTP API之一的多个图像组合到一个容器中,这将会很有趣。 根据我所看到的,replace/修改图像也会改变在其上面构build的所有图像,使得这种方法与#1没有什么不同。 我最关心的是能够独立开发/构build/testing/部署容器软件堆栈的组件,而不用重build或重新安装没有改变的部分。 如果这与Docker的devise理念冲突太强烈,我会愿意改变我对这种方法的看法或寻找不同的工具。

Ansible docker_volume模块不存在

甚至需求https://docs.ansible.com/ansible/devel/docker_volume_module.html python> = 2.6(2.7.13) docker-py> = 1.10.0(1.10.6) 我不能在剧本中使用docker_volume。 其他docker模块已经安装: bash-4.3# ansible-doc -l | grep docker docker manage docker containers docker_container manage docker containers docker_image Manage docker images. docker_image_facts Inspect docker images docker_login Log into a Docker registry. docker_network Manage Docker networks docker_service Manage docker services and containers. 我知道我可以使用shell命令,但是我想知道是否有方法来安装docker_volume。 操作系统是在这个pourpose创build的docker图像高山3.6。 关于docker-py的信息: bash-4.3# sudo pip show docker-py […]

启动redis-server然后使用bash

# Redis # Download and extract Redis source files RUN curl -o redis.tar.gz "http://download.redis.io/releases/redis-4.0.2.tar.gz" && \ mkdir redis_tmp/ && \ tar xzf redis.tar.gz -C redis_tmp && \ # Rename temporary directory mv redis_tmp/* redis && \ # Install Redis cd redis && \ make && \ make install && \ # Remove source files cd […]

支持的字典types:smtp.gmail.com

我正在尝试在Docker容器中设置postfix 。 在启动时,我正在运行以下安装脚本: # Install postfix/mailutils with configuration options echo "postfix postfix/mailname string $MAILSERVER:587" | debconf-set-selections echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections apt-get install -yqq postfix apt-get install -yqq mailutils # Setup credentials for SMTP server mkdir -p /etc/postfix/sasl touch /etc/postfix/sasl/sasl_passwd /etc/postfix/main.cf echo "[$MAILSERVER]:587 $EMAIL_USER:$EMAIL_PASSWORD" >> /etc/postfix/sasl/sasl_passwd chown -R postfix:postfix /etc/postfix chmod 600 […]

无法访问创build为Docker Stack的WordPress网站

我正在尝试在由以下服务组成的Docker堆栈中创build一个Wordpress站点: wordpress – WordPress的网站本身 db – MySQL容器 我有以下stack.yml文件: version: '3.1' networks: abtehnic: services: db: image: mysql:latest restart: always networks: – abtehnic environment: MYSQL_ROOT_PASSWORD: XXXXX MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: barbu123 wordpress: image: abtehnic-wordpress depends_on: – db restart: always ports: – 80 environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_PASSWORD: barbu123 networks: – abtehnic volumes: – […]

状态:来自守护进程的错误响应:节点elk12不明确(find2个匹配项),代码:1

我正在使用以下环境:Debian 9与Docker CE: # cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 9 (stretch)" NAME="Debian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" # docker –version Docker version 17.09.0-ce, build afdb6d4 # docker node ls : # docker node ls | grep elk12 2keku0oj8zhsy6uyvyl4gd4d7 elk12 Down Active Reachable tbwbpkl5qys4wwxbisga3y2oe * elk12 Ready Active Reachable # docker node inspect elk12 […]

Docker容器日志不滚动

我运行我的docker容器与日志旋转: Docker: Docker version 17.03.1-ce, build 7392c3b/17.03.1-ce Platform: Linux version 4.9.32-15.41.amzn1.x86_64 (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) docker inspect "HostConfig": { "Binds": null, "ContainerIDFile": "", "LogConfig": { "Type": "json-file", "Config": { "max-file": "4", "max-size": "250m" } }, 但是我的容器日志还是比较大的: rw-r–r– 1 root root 17M Nov 21 17:54 ServiceBackend-24f1d4f56ab0-stdouterr.log -rw-r–r– 1 root root 1.4G […]

Docker自动缩放

有没有什么办法在Swarm模式下自动缩放Docker容器。 根据CPU,networking或内存使用情况,它达到70%的水平,它必须自动启动集群中的新容器。 一旦负载下降,它自动缩小容器。 (在Windows容器中) 有没有什么办法可以configuration。 并监视群集

Tomcat或Jetty是否cachingdynamic内容?

我正在处理一个Servlet应用程序,内容定期更新。 因此,在更新之间,可以caching由Servlet生成的任何dynamic页面。 Tomcat或Jetty(或任何Servlet容器)是否提供cachingdynamic生成的页面的方法? 或者我需要使用像Squid这样的caching反向代理来实现这一点?