我有一个有几个Docker容器的Web服务器,其中一个是nginx 。 为了便于重新部署,服务器由脚本构build。 现在我想使用letsencrypt证书。 但: letsencrypt需要一个正在运行的HTTP Web服务器进行validation 启用了HTTPS的nginx需要启动证书。 该脚本无法首先启动nginx,因为证书将会丢失。 但是脚本也不能首先获取证书,因为这需要运行一个Web服务器。 经典鸡与鸡蛋的问题。 一个解决办法是 首先创build一个只有HTTPconfiguration的nginx, 运行certbot获取证书, 修改nginxconfiguration并以HTTPS模式重新启动Web服务器。 这似乎不是一个优雅的解决scheme,所以我想知道是否有人提出了一个更好的。
我运行你的容器,并尝试使用curl发送文件,但它失败。 运行容器 export FTP_USER="test" export FTP_PASSWORD="test" docker run \ –name mock_ftp_server \ –publish 21:21 \ –publish 4559-4564:4559-4564 \ –env FTP_USER="$FTP_USER" \ –env FTP_PASSWORD="$FTP_PASSWORD" \ –detach \ panubo/vsftpd 发送文件 $ curl –upload-file /tmp/mock.data-2017-03-28.tar.gz ftp://localhost –user $FTP_USER:$FTP_PASSWORD % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 […]
我有一个经典的networking应用程序(客户关系pipe理工具),它需要nginx,python(烧瓶),postgresql和Redis的工作。 我打算把这个应用程序卖给不同的公司,并在我强大的专用服务器上托pipe它们,我打算使用Docker为新公司快速创build实例。 我想要实现的一个目标是保护客户免受Ddos攻击,例如,如果其中一个客户受到攻击,这不会伤害其他用户。 如果创build过多的负载,我也希望能够轻松地扩展应用程序(或者将其转移到单独的服务器)。 我应该为应用程序的每个副本运行单独的Web服务器容器,数据库和caching吗? 会造成太多的开销吗? 有没有更多,更优化的方法来确保可靠性和隔离? 提前致谢。
在select应用程序容器解决scheme与操作系统容器解决scheme之间的一个决定点是安全性 我没有足够的知识能够比较和对比两者。 我认为他们是不同的,但是比另一个更开放?
现在,我的一些服务器应用程序被打包到Docker容器中,我试图将它们部署到我的生产服务器上。 我的容器应该可以同时通过IPv4 和 IPv6访问。 通常这是没有问题的:如果您将容器端口映射到主机端口,例如通过docker-compose,则Docker将使用可用的IPv6和IPv4地址。 我的问题是:我的服务器上不仅有一个IPv4和IPv6地址可用,而是多个。 我的应用程序容器应该只使用主机的一个特定的IPv4地址和一个特定的IPv6地址。 您可以使用以下docker-compose语法将容器端口绑定到IPv4地址: ports: – "127.0.0.1:8001:8001" (请参阅https://docs.docker.com/compose/compose-file/#ports ) 不幸的是我找不到任何信息如何与IPv6地址。 有什么方法可以将容器端口绑定到我的Docker主机上的单个特定 IPv6地址?
我们将在一个没有出站互联网访问的环境中部署我们的代码库 – 使用docker。 但是,我们似乎无法预先构build整个事物,因此我们不必从任何存储库中提取图像。 服务器是用docker和docker-compose编写的。 我们有一个docker-compose.yml文件,它的时间更长,但是这是我们无法工作的部分: node: container_name: my-node build: ./docker/node volumes_from: – volumes_source ports: – "5000:5000" links: – mysql – redis 在/ docker / node中我们有一个Dockerfile: FROM node:latest EXPOSE 5000 RUN npm install pm2 -g CMD ["pm2-docker", "/var/www/laravel/socket/socket.js"] 我想预先build立这个,所以它不会有运行npm install pm2 -g位 – 因为它不会工作。 我所尝试的是: 将其作为互联网连接主机上的容器启动 docker commit 8671bf3bd1b5 my-node:latest (8671bf3bd1b5是容器ID) docker save -o my-node.docker […]
如何在EC2容器服务上运行两个neo4j实例。 我创build了两个任务定义来在7474和7475上运行neo4j。但是两个neo4j实例都使用相同的7687来提供数据。 它可以正常工作。 如何使第二个实例分开? 注意:我的集群中只有一个实例。
我有一个运行在App Engine中的webserver容器,它提供了一个REST API。 我试图去一个相对标准的实现 – nginx + PHP-FPM使用TCP套接字(我没有得到一个unix套接字工作出于某种原因)。 数据库连接也是通过Google Cloud VPN运行的TCP套接字。 问题 我在API上获得了〜25%的可用性。 在最大时间(App Engine的nginx代理设置为60秒)之后,通常请求将会发生504 Gateway Timeout 。 有时候,如果PHP-FPM超时( request_terminate_timeout ),将会出现502 Bad Gateway 。 我试图找出这是否是App Engine nginxconfiguration不当,我的nginx或我的PHP-FPMconfiguration。 Nginx应该closures套接字或者重用它们,但是它似乎并没有这样做。 客户端 当我siege任何给定的端点(25个用户)几分钟,我看到: HTTP/1.1 504 60.88 secs: 176 bytes ==> GET /path/to/rest …15 lines… HTTP/1.1 504 61.23 secs: 176 bytes ==> GET /path/to/rest HTTP/1.1 200 57.54 secs: 13143 […]
我们在CentOS 7 (3.10.0-514.10.2.el7.x86_64)上运行带有devicemapper的Docker容器。 对于一些容器,通过指定父块设备,我们可以轻松地通过blkio.throttle.read_bps_device来限制读取,但是对于某些容器,它只是不起作用。 这是我们的lsblk : NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 32G 0 disk └─sda1 8:1 0 32G 0 part / sdb 8:16 0 100G 0 disk ├─data-docker_thin_tmeta 253:0 0 512M 0 lvm │ └─data-docker_thin 253:2 0 90G 0 lvm │ └─docker-8:1-151197496-c619…6ed 253:4 0 10G 0 dm ├─data-docker_thin_tdata 253:1 0 […]
我注意到dockerd和docker-proxy进程使用的CPU比预期的要多,分别是15%和24%,所以我决定使用“主机”networking来避免开销。 但是,我得到的结果更糟。 如何解释这个? 一个nginx容器也不会发生这种情况(性能从“主机”networking从43k / sec增加到48k / sec)。 场景#1 – “桥”networking 启动CouchDB容器: docker run -d -p 5984:5984 couchdb $ wrk -d 60 http://localhost:5984/mydb/mydoc Running 1m test @ http://localhost:5984/mydb/mydoc 2 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.51ms 197.54us 7.81ms 75.74% Req/Sec 3.32k 111.59 3.60k 71.58% 396492 requests in 1.00m, 698.02MB […]