Articles of Docker

如何在runc和oci之间切换docker运行时

我从Fedora的默认回购安装了docker引擎。 在将Fedora更新到26之后,使用容器时我遇到了一些非常奇怪的问题。 我在docker info发现了这个: 运行时:oci runc 默认运行时间:oci 从yum.dockerproject.org docker info另一台计算机, docker info只有runc: 运行时:runc 默认运行时:runc 我search了很多地方,但是找不到关于切换这个运行时间的任何文件。

docker集装箱中的Web服务器无法通过互联网到达

我一直在阅读: https : //docs.docker.com/engine/userguide/networking/#user-defined-networks 我创build了自己的networking( docker network create –driver bridge devils_network ): 441be50f3792 bridge bridge local 0d73f7c6fe00 devils_network bridge local 8e189dda9fef host host local 5ebca4a1e514 none null local 我运行的容器如此: docker run -it -d -v ~/dockervolume/deus:/srv/www –name deus –hostname deus –network=devils_network -p 80:8080 karl/node 并在dockerfile公开端口8080: EXPOSE 8080 我已经附加了一个terminal会话的容器,并检查容器,以确保networking服务器启动并运行: root 17 0.0 0.1 4508 660 ? S […]

Docker-Swarm与RabbitMQ Autocluster

我们正面临以下问题:如何在具有持久数据的Docker-Swarm中运行RabbitMQ。 目前我们有以下设置: Docker-Swarm 3节点 GlusterFS作为所有节点之间的复制文件系统 RabbitMQ与领事Image:gavinmroy / alpine-rabbitmq-autocluster 这大部分时间工作正常..但现在我们必须使用持久队列来坚持数据。 我们试图使用–hostnames或设置RABBITMQ_NODENAME,比我们得到一个像“rabbit @ CONTAINERID”这样的每个启动节点的子目录的问题是:当容器重新启动时,一个新的文件夹被用来保存数据(新的ContainerID) ..任何build议如何得到一个工作设置,使用Docker Swarmfunction?

Docker Swarm模式的networking和负载平衡不适用于我的第二个服务

我的设置 两个节点(2GB RAM,2个vCPU)运行docker引擎(v17.06.1-ce) – 一个群和一个工人。 内部networking带宽:10Gbps。 所有文件和数据库都位于此Docker集群(AWS S3和用于数据库的不同实例)之外。 我正在努力实现的是什么? 我试图创build一个基于“平台”,我推无状态服务和docker处理负载平衡,更新等docker。除此之外,我也试图设置反向代理,并允许特定的服务有权访问此代理。 我到目前为止做了什么? 首先,我创build了一个覆盖networking,称之为“公共”。 (10.0.9.0/24)然后,我在“全局”模式下创build了一个nginx服务。 服务本身附属于“公共”networking。 我检查了我的工作人员和群体节点,并在两个服务运行没有问题。 其次,我创build了docker撰写文件,以便快速部署多个服务。 为了我的testing,我每个撰写文件都保留一项服务: version: '3.3' services: web: image: app1_image:latest networks: – public networks: public: external: name: public 对于第二个服务,我只是改变了图像名称,并保持其他一切。 同时“堆”: docker stack deploy –with-registry-auth –compose-file compose1.yml app1 docker stack deploy –with-registry-auth –compose-file compose2.yml app2 在检查这两个服务之后,我看到这两个服务都在“overlay”networking中,如10.0.9.5(app1_web)和10.0.9.6(app2_web)。 在swarm节点中创buildapp2_web ,在worker节点中创buildapp2_web 。 所以我用下面的方法为我的两个服务创build了两个nginxconfiguration文件: server { listen […]

SQL Server 2014 SP2不能在Windows Docker上启动

我想在Windows Docker上安装和使用SQL Server 2014 SP2。 但是SQL Server服务不启动。 重现步骤: 从https://www.microsoft.com/zh-CN/download/details.aspx?id=53167下载“Microsoft SQL Server 2014 Service Pack 2(SP2)Express”英文版。 执行“SQLEXPR_x64_ENU.exe”,解压缩到“SQLEXPR_x64_ENU”文件夹,然后取消安装程序。 如下所示写入Dockerfile。 执行“docker build -t sample”。 执行“docker run –name sample -i –rm sample”。 Dockerfile: FROM microsoft/windowsservercore MAINTAINER [email protected] COPY SQLEXPR_x64_ENU C:/SQLEXPR_x64_ENU/ WORKDIR C:/SQLEXPR_x64_ENU/ RUN SETUP.EXE /q /ACTION=Install /INSTANCENAME=MSSQLSERVER /FEATURES=SQLEngine /UPDATEENABLED=0 /SQLSVCACCOUNT="NT Service\MSSQLSERVER" /SQLSYSADMINACCOUNTS="foobar" /TCPENABLED=1 /NPENABLED=0 /IACCEPTSQLSERVERLICENSETERMS CMD [ "powershell" ] […]

Java托pipe(jetty首选)

我目前使用PairOne / OddHost托pipe,有没有人build议任何人好,便宜,可靠的托pipe? 我想保持在$ 100 /年以下。 沃尔特

密码保护在docker的应用程序

我正在testing在Jetty 7中运行的webapp(.war)。为了演示目的,我想在一个公共URL上运行它,但是我不想让整个世界(如果碰巧碰到URL)能够看见。 有没有办法让Jetty在访问webapp时需要一个basic-authtypes的authentication(不需要修改war中的任何内容,即web.xml文件没有编辑)? 或者,如果不是web应用程序,那么Jetty在端口8080提供的任何部分?

通过Yum(CentOS)安装Jetty,但找不到start.jar来运行它

<UPDATE> /etc/init.d/似乎不包含任何相关条目(通过ls -A检索): abrtd certmonger firstboot irqbalance mysqld nscd portreserve rpcidmapd snmpd vmware-tools acpid cgconfig functions kdump netconsole nslcd postfix rpcsvcgssd snmptrapd vncserver atd cgred haldaemon killall netfs ntpd psacct rsyslog sshd webmin auditd cpuspeed halt lvm2-monitor network ntpdate rdisc sandbox sssd wpa_supplicant autofs crond httpd mdmonitor NetworkManager oddjobd restorecond saslauthd sysstat ypbind avahi-daemon cups […]

将Docker容器端口暴露给eth0

第一:有300名代表的人可以给“docker工人”做个标签吗? TYVM 我使用以下命令为elasticsearch运行docker容器: docker run -d -i -t -p 9200:9200 -p 9300:9300 elasticsearch:0.90.5 哪个启动正确,当我curl localhost:9200我得到了elasticsearch json hello world消息。 我无法弄清楚的是如何让端口暴露在盒子外面。 我想要做的是: docker run -d -i -t -p 123.123.123.123:9200:9200 -p 123.123.123.123:9300:9300 elasticsearch:0.90.5 其中123.123.123.123是eth0的IP地址。 这似乎并不奏效。 现在我的问题是:我如何正确运行这个容器并将这些端口暴露给外部世界呢? 这是我的“ip addr”,它是一个运行Ubuntu 12.04的无头虚拟机。 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 […]

部署和configuration复杂的python应用程序scheme

挑战 我们新的应用程序使用几种服务 自定义构buildpostgresql, Redis的, 芹菜, RabbitMQ的, HAProxy的, nginx的, uwsgi, 大约4我们的内部过程(主要是python), AngularJS的webaplication, 我将以SaS模式发布它,这意味着所有这些服务都将托pipe在我们的云中(现在在AWS中,后来是OpenStack)。 每个客户将获得自己的实例。 安装将取决于客户需求/规模 – 在某些情况下,所有服务都将在单个虚拟机上运行,​​在某些情况下,每个服务将有多个虚拟机。 服务configuration取决于客户(如附加function)。 我希望有一个简单的方法来创build“演示”实例 – 只是让未来的客户玩我们的应用程序。 要求 我寻找一个能帮助我的解决scheme: 设置一个或一堆虚拟机(aws,openstack), configuration它们的通用规则, 从git master分支构build我们的软件(运行grunt for webaplication,twitter.pants for python), 部署服务, 扩展安装(添加更多虚拟机与选定的服务), 经过一段时间升级服务选定的版本, build议的解决scheme 我已经看到了多变的看起来不错,但它的发展不是为了生产。 我已经看到docker这更好,但我不确定是否足够有弹性来支持每个客户不同的容器configuration。 无论如何,我仍然需要一个工具来创build这些容器… 我build议使用ansible作为工具来创build虚拟机,configuration公共部分,然后在主机上部署服务。 我会保持每个客户/实例单独的库存。 Ansible清单组将允许在一个虚拟机上安装所有angular色(服务),或者将其安装在单独的虚拟机上。 我相信这也能帮助我们升级服务。 问题 我有一些问题: 您在我的设置中看到的任何问题? 在什么情况下可能是不够的,所以我希望有像docker这样的东西? 如何跟踪单独的实例? 如果我改变剧本,如何确保它在每个主机上运行? 是否有机会根据angular色和可靠的库存自动为每个虚拟机创build防火墙规则? 还有其他build议吗? 我非常感谢所有的反馈。