Tag: docker docker

Docker容器中的多个公共ip地址用于传出连接

希望你能帮我解决我不常见的任务,谢谢你的时间! =) 这是我需要克服的条件: 服务器有1000多个公共IP地址(显然是ipv6 )。 每个docker集装箱必须有1个input地址(它很简单,可以是ipv4 ),250个地址用于输出连接。 重点是每个连接到野外的连接必须从特定的公共src ip地址发起。 基本上每个容器的工作方式就像代理服务器一样多地址。 任何想法如何优雅地与Docker实现? 想从默认的172.17.0.0子网添加250ips到docker,并用iptables绑定到公共地址,看起来很难支持,而且对我来说不稳定。 docker工人有一些function可以帮助我做到这一点更简单吗?

在启动时使用静态数据进行Docker集成testing

我一直在这个问题上挣扎了一会儿。 我想用一组特定的数据做一个性能testing。 为了实现这一点,我使用Docker-compose,并导出了几个.sql文件。 当我第一次使用docker-compose build和docker-compose up构build并运行容器时, docker-compose up数据集是好的。 然后我运行我的testing(也插入)数据。 运行我的testing后,我想再次执行它,所以我重新启动容器使用docker-compose up 。 但这一次,由于某种原因,我不明白,上次插入的数据(通过我的testing)仍然存在。 我现在得到不同的行为。 目前我有以下Dockerfile: FROM mysql:5.7 ENV MYSQL_DATABASE dev_munisense1\ MYSQL_ROOT_PASSWORD pass EXPOSE 3306 ADD docker/data/ /docker-entrypoint-initdb.d/ 因为我读过mysql Docker镜像运行/docker-entrypoint-initdb.d/所有/docker-entrypoint-initdb.d/ 。 第一次正常工作。 我也尝试了这些post的build议: 如何在Docker容器中迁移mysql数据目录? http://txt.fliglio.com/2013/11/creating-a-mysql-docker-container/ 如何在构build时创build已填充的MySQL Docker镜像 如何使用填充数据库进行自动化testing的docker图像? 和几个相同的其他职位。 他们目前似乎没有工作。 每次启动容器时,如何确保数据集完全相同? 而不必每次重build图像(这需要很长的时间,因为一个大的数据集)。 提前致谢 编辑: 我也试着用不同的参数来运行容器,比如: docker-compose up –force-recreate –build mysql但是这没有成功。 容器重build并重新启动,但数据库仍受我的testing影响。 目前解决我的问题的唯一办法是删除整个容器和图像。

docker – 卡拉夫图像与蒙戈图像

我从头开始创build了karaf dockerfile,并且可以与我的应用程序一起工作。 现在,postgreSQL和MongoDB容器需要在最后一步与karaf容器在同一个networking上运行。 从本质上讲,我到目前为止是三个独立的dockerfiles。 而我需要的是他们能够相互沟通。 我如何解决这个问题?

Docker-Compose:如何将卷从主机映射到容器?

问题: 我想通过使用docker-compose的特定容器从docker主机共享一个文件夹。 运行MongoDB的容器应将其数据文件放置在/ var / lib / mongodb中,但是该文件夹应该挂载到hosts文件夹/ var / lib / mongodb。 但是它仍然是容器中的一个本地目录,而不是主机的共享目录。 有时也会以下面的警告结束: 警告:服务“mongodb”使用前一个容器中的“/ var / lib / mongodb”卷。 主机映射“name_dbvolume”不起作用。 删除现有容器(使用docker-compose rm mongodb )以使用主机卷映射。 泊坞窗,compose.yml version: '2' services: loopback: build: . expose: – "80" – "443" – "28015" – "29015" ports: – 3000:3000 links: – mongodb environment: VIRTUAL_HOST: api.xxxxxx.com VIRTUAL_PORT: 3000 LETSENCRYPT_EMAIL: yyyyyy@xxxxxxx.com […]

如何设置docker elasticsearch与节点?

这里是我的docker-composer.yml文件: db: image: mongo ports: – "27017:27017" restart: always elasticsearch1: image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0 container_name: elasticsearch1 environment: – cluster.name=docker-cluster – bootstrap.memory_lock=true – "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 mem_limit: 1g cap_add: – IPC_LOCK volumes: – esdata1:/usr/share/elasticsearch/data ports: – 9200:9200 web: build: . volumes: – ./:/usr/src/app ports: – "3000:3000" links: – […]

如果主机卷没有写入权限,docker运行中的configuration或选项将失败

在docker run中是否有configuration选项,这样如果主机卷没有写权限,它就无法运行,就像一个快速失败一样。 例如: docker run -v /media/videos:/mnt/av -v /var/log:/var/log -ti –net=host video_service 在上面,我将主机上的/ media / videos映射到container / mnt / av 。 基本上我有一个容器中的NGINX RTMP服务器将video写到/ mnt / av。 但是,如果在主机/媒体/video没有写权限失败,它不会保存任何video。 所以我正在寻找任何选项,所以只有在主机卷上没有写权限的情况下,docker才会在启动(运行)时失败,而不是成功启动,但后来知道这个问题。 或者,如果我可以强制docker在启动过程中获得主机path上的写权限。

来自docker上的nginx + letsencrypt proxy的502错误

我有一台Ubuntu 16.04的机器。 我尝试在通过nginx代理的容器中设置nextcloud,并使用letsencrytp进行encryption。 现在,当我想访问网站时,我得到一个502错误的网关错误,并且nginx第一次抛出错误 代理| nginx.1 | 2017/04/22 17:26:15 [error] 38#38:* 5 readv()失败(104:由对等方重置连接),从上游读取响应头,客户端:192.168.1.1,server:xxx.ddns。 net请求:“GET / HTTP / 1.1”,上行:“ http://xxx.xxx.0.4:9000 / ”,主机:“xxx.ddns.net” 并访问被logging 代理| nginx.1 | xxx.ddns.net 192.168.1.1 – [22 / Apr / 2017:17:26:15 +0000]“GET / HTTP / 1.1”502 174“ – ”“Mozilla / 5.0(X11; Fedora; Linux x86_64; rv :53.0)Gecko / 20100101 Firefox / 53.0“ 至于我得到的错误是与下一个云没有任何关系,因为当我closures下一个云容器错误依然存在。 代理configuration的docker-compose.yml是 […]

用作卷path的docker-compose环境variables不会得到解决

docker版本(最新的Mac) Version 17.03.1-ce-mac5 (16048) 我试图外化path,以便每个开发人员可以更改单个文件,以将组件映射到本地环境中的正确path。 例如,nginx服务器是一个静态网站。 #localhost.env INDEX_PATH=/Users/felipe/website/public 这是我的compose.yml nginx: image: nginx ports: – "8081:8081" volumes: – ${INDEX_PATH}:/etc/nginx/html:ro env_file: – ./localhost.env 简而言之,我定义了INDEX_PATHvariables来指向我的本地path,我希望nginx能够从那里为网站提供服务。 另一个开发者应该设置 #localhost.env INDEX_PATH=/Users/somebodyElse/whatever/public 问题 出于某种原因,我不明白局部variables不能正确解决,至less当它用作音量的path 。 testing docker-composeconfiguration nginx: environment: INDEX_PATH: /Users/felipe/website/public image: nginx ports: – 8081:8081 volumes: – .:/etc/nginx/html:ro //HERE I WAS EXPECTING THE PATH 正如你所看到的,它只是解决了。 (一个点代替path/ Users / felipe / website […]

在Docker容器中构buildsphinx文档

我有一个在Docker容器中运行的Flask项目。 我设法build立我的应用程序并成功运行它。 不过,我也想build立狮身人面像文件,所以它的静态文件可以送达。 文档通常使用docs/文件中的make html构build。 我已经find了sphinx的docker源代码,并且已经build立了一个成功运行的docker-composeconfiguration,但是我不能将make html命令传递给sphinx – 我相信因为我正在运行命令,因为make html需要在docs/内运行,而不是从基本目录内运行。 我尝试构buildsphinx文档时出现以下错误: docker-compose run –rm sphinx make html Starting web_project Pulling sphinx (nickjer/docker-sphinx:latest)… latest: Pulling from nickjer/docker-sphinx c62795f78da9: Pull complete d4fceeeb758e: Pull complete 5c9125a401ae: Pull complete 0062f774e994: Pull complete 6b33fd031fac: Pull complete aac5b231ab1e: Pull complete 97be0ae484bc: Pull complete ec7c8cca5e46: Pull complete 82cc981959eb: Pull complete 151a33a826a1: Pull […]

尽pipe我安装了它,但不能使用docker-compose

我通过Dockefile在我的容器中安装了Docker-machine和Docker-compose: RUN curl -L https://github.com/docker/machine/releases/download/v0.9.0/docker-machine-`uname -s`-`uname -m` >/usr/local/bin/docker-machine && \ chmod +x /usr/local/bin/docker-machine RUN curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose && \ chmod +x /usr/local/bin/docker-compose 但我只能使用docker机。 当我想用docker-compose时说: bash-4.3# ls /usr/local/bin/ docker-compose docker-machine bash-4.3# stat /usr/local/bin/docker-compose File: /usr/local/bin/docker-compose Size: 8273264 Blocks: 16160 IO Block: 4096 regular file Device: fd09h/64777d Inode: 29362189 Links: 1 Access: (0755/-rwxr-xr-x) […]