Tag:

在docker-compose中使用network_mode ='host'break run:主机typesnetworking不能与链接一起使用

我dockerized django应用程序,它需要连接到HOST PostgresDB数据库。 为此,我在docker工作: version: '2' services: web: build: context: . dockerfile: DockerfileWeb command: gunicorn –timeout=300 –graceful-timeout=30 -w 2 –threads 2 -b 0.0.0.0:8000 cobros.wsgi volumes: – .:/code – /tmp:/tmp network_mode: "host" ports: – "8000:8000" restart: always environment: – DATABASE_URL=postgres://postgres@127.0.0.1/postgres – PRODUCTION="true" 这工作正常,除非我试图在docker中运行一个命令,如: docker-compose run web python manage.py periodico 现在我得到这个错误: [192.168.1.70] out:错误:无法为服务web创build容器:b“冲突选项:主机typesnetworking不能与链接一起使用,这会导致未定义的行为”

在docker集装箱从内部连接到本地apache没有发生

问题 我通过浏览器http://localhost访问页面,看到公用文件夹的内容。 问题是,当我运行testing时,curl不会连接消息: cURL错误7:无法连接到本地端口80:连接被拒绝(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html)(GuzzleHttp \ Exception \ ConnectException) 我通过命令运行testing: docker – 撰写运行 – RM的PHP PHP供应商/斌/ behat 泊坞窗,compose.yml version: '2' services: php: image: webdevops/php-apache:ubuntu-16.04 volumes: – ./:/app working_dir: /app environment: – APP_ENV=local – VIRTUAL_HOST=localhost – WEB_DOCUMENT_ROOT=/app/public ports: – 80:80 composer: image: composer/composer working_dir: /app volumes_from: – php 我的环境 Mac OSX 10.11.6 Docker for mac:17.03.1-ce-mac12(17661) 概要 我可能忽略了一些configuration? […]

如何同步本地docker容器的mac本地目录?

我使用本地docker为Mac和我有一个小型应用程序与docker集装箱运行。 目前我手动将数据从我的mac复制到docker容器使用docker cp命令。 我想使其dynamic,我想把数据放在我的本地目录,应该与docker容器同步。 例: mac local dir : users/vishnu/data/ 应该同步到 `<Docker-container-ID>:/opt/deploy/` 容器已经运行,我不应该释放正在运行的容器。 我只能停下来开始。 有没有办法? 提前致谢

针对Dockerized Django应用播种MySQL数据库

我的任务是为Django应用程序的开发人员创build一个Docker的点击button风格的使用来进行本地开发。 我在docker-compose集线器上使用了docker-compose和private repos,它工作的很好。 除了应用程序没有默认的数据。 开发者已经要求使用完整的prod转储,而不是使用loaddata灯具。 所以我build立了一个基于这个Dockerfile的容器 FROM python:2.7 COPY . /opt/mysite.com WORKDIR /opt/mysite.com ENV WAITFORIT_VERSION="v1.3.1" RUN wget -q -O /usr/local/bin/waitforit https://github.com/maxcnunes/waitforit/releases/download/$WAITFORIT_VERSION/waitforit-linux_amd64 \ && chmod +x /usr/local/bin/waitforit RUN curl -sL https://deb.nodesource.com/setup_6.x | bash – RUN apt-get -y update && apt-get -y install mysql-client nodejs RUN pip install -r requirements/local.txt RUN npm install RUN ./node_modules/.bin/babel-node ./node_modules/.bin/webpack CMD […]

从Linux Docker容器连接到远程MSSQL数据库

我有一个build立在microsoft / mssql-server-linux / image上的linux docker容器。 容器此刻没有任何东西,我试图连接到远程MSSQL数据库托pipe在Windows服务器的地方。 我不确定我该怎么做。 microsoft / mssql-server-linux /的文档没有提供很多细节。 任何帮助,将不胜感激。 更新:我现在有容器工作。 但是,如果我尝试通过bash脚本创build和种子数据库,容器退出代码0。 这里是docker文件和docker-compose文件 version: '2' services: db: build: . ports: – "1433:1433" environment: ACCEPT_EULA: Y SA_PASSWORD: Password PATH: /opt/mssql-tools/bin:/opt/mssql/bin:$PATH container_name: db FROM microsoft/mssql-server-linux:latest EXPOSE 1433 RUN echo $PATH RUN mkdir -p /usr/src/app COPY ./db/* /usr/src/app/ WORKDIR /usr/src/app RUN ls RUN chmod +x […]

docker作者不断使用旧的图像内容

我们使用我们的gitlab-ci来创build最新版本的代码。 这些图像是用latest标签来build造的。 我们在发布过程中标记图像。 我的问题是关于latest标签。 我们自动在服务器上部署这些映像来testing我们的产品。 但是,在testing服务器上,如果我们拖动最新的Docker镜像(通过校验和validation),请停止撰写并重新启动,但我们有时还会保留旧镜像的内容(例如configuration文件)。 我们尝试了docker-compose up -d –force-recreate但是没有任何帮助。 解决这个问题的唯一方法是: docker-compose down docker system prune -f docker rmi $(docker images -q) docker-compose pull docker-compose up -d 更好的主意?

什么时候Docker镜像和它的仓库有不同的名字?

docker tag命令的标准用法是: docker tag <image> <username>/<repository>:<tag> 因此,例如: docker tag friendlyhello john/get-started:part1 。 来自Java-land,我已经习惯了Maven / Gradle风格的坐标group:artifact:version ,所以对于我来说, image和repository是相同的: image是您制作的工件,而在Java-land中,生成的工件与其代码所在的源代码库之间通常有1:1的关系。 所以对我来说,这个命令更为合理: docker tag <username>/<repository>:<tag> 例如: docker tag john/get-started:part1 ,其中john是用户名/组, get-started是artifact / repo, part1是标签/版本。 要清楚:我不是问图像和存储库之间有什么区别! 我知道一个存储库是存储图像的位置,我知道一个图像是一个Docker可执行文件,由Dockerized应用程序及其依赖关系组成。 但是从命名的angular度来看,我很困惑为什么/何时应该彼此不同。 所以我问:从命名约定的angular度来看, image和repository有什么区别? 例如,如果我想创build自己的MySQL Docker映像,我select了名为“ myapp-db ”的映像,这也是它所在的资源库的名称( smeeb/myapp-db:v1 , smeeb/myapp-db:v2等)。 那么,在什么情况下image和repository名称是不同的?

为什么PHP开发服务器与docker挂起?

我有以下docker-compose.ymlconfiguration文件: silex-twig: image: php:7.1 command: php -S localhost:4000 /app/index.php volumes: – .:/app ports: – 3000:4000 当我运行docker-compose up它会下载基本映像,然后在这里挂起: Recreating silextwig_silex-twig_1 Attaching to silextwig_silex-twig_1 我究竟做错了什么? 没有什么可用的端口3000.我知道有php-fpm + nginx的设置,但似乎只有发展复杂。

Docker – 具有自定义configuration的nginx

我试图用dockerconfiguration一个LEMP开发环境,并且对nginx有麻烦,因为一旦它有新的configuration,我似乎无法重新启动nginx 。 docker-compose.yml : version: '3' services: nginx: image: nginx ports: – '8080:80' volumes: – ./nginx/log:/var/log/nginx – ./nginx/config/default:/etc/nginx/sites-available/default – ../wordpress:/var/www/wordpress php: image: php:fpm ports: – 9000:9000 mysql: image: mysql ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: secret volumes: – ./mysql/data:/var/lib/mysql 我有一个自定义的nginxconfiguration,replace/etc/nginx/sites-available/default ,在一个普通的Ubuntu环境中,我将运行service nginx restart来拉入新的configuration。 但是,如果我试图做这个Docker环境, nginx容器exits with code 1 。 docker-compose exec nginx sh service nginx restart […]

使用非默认端口在Docker容器中运行Rails应用程序

我有一个简单的rails应用程序,它有一个MongoDB后端。 我使用Docker Compose在不同的容器中运行rails应用程序和MongoDB。 当我使用默认的导轨端口(这是3000),一切运行正常。 但是,如果我使用CMD ["rails", "s", "-p", "8080"]在端口8080上运行rails应用程序,并在Dockerfile使用EXPOSE 8080将端口8080 Dockerfile ,然后重新生成并推送映像,只有MongoDB容器启动。 我还将docker-compose.yml的端口更改为8080:8080 。 如果我在端口8080( rails s -p 8080 )上运行没有Docker的rails应用程序,它工作正常。 为什么我的Rails应用程序在使用端口8080时不能在Docker容器中运行,但在使用端口3000时可以工作? Dockerfile FROM ruby:2.3.1 EXPOSE 3000 ADD . /code WORKDIR /code RUN bundle install CMD ["rails", "s"] 泊坞窗,compose.yml version: '3' services: web: image: "<USERNAME>/<REPO>:<TAG_NAME>" build: . ports: – "3000:3000" volumes: – .:/code links: – mongodb […]