Tag: 泊坞者撰写

Docker设置与复杂的项目结构

我可以通过Docker运行一个应用程序,如果应用程序只是直接的前言,像下面的东西。 比方说,我有用Python / Django编写的Hello World应用程序。 而项目目录结构是 (普通格式) proj_directory – app.py – requirements.txt – Dockerfile 如果我按照以下步骤完成应用程序运行: dockerbuild设-t friendlyhello。 docker运行-p 4000:80 friendlyhello` (首选格式) 但是,如果我改变项目目录结构如下,那么它不再工作。 proj_directory – 文件夹/ app.py – requirements.txt – Dockerfile 根据Docker设置说明, 将工作目录设置为/ app WORKDIR /应用程序 将当前目录内容复制到/ app的容器中 ADD。 /应用 如果我想遵循我的首选格式,我应该在Dockerfile中做出什么改变? 不知道什么,但我相信我应该在Dockerfile的上面两行做一些改变。 请提出build议。

无法使用docker运行dotnet核心预览2项目

我无法在dotnet core preview 2上的windows server 2016上运行docker容器。我能够构build到docker容器,但在运行期间,我收到以下错误。 Creating network "dockercompose_default" with the default driver Creating dockercompose_flousermanagement_1 … Creating dockercompose_flousermanagement_1 … done Attaching to dockercompose_flousermanagement_1 flousermanagement_1 | The specified framework 'Microsoft.NETCore.App', version '2.0.0-preview2-25407-01' was not found. flousermanagement_1 | – Check application dependencies and target a framework version installed at: flousermanagement_1 | C:\Program Files\dotnet\shared\Microsoft.NETCore.App flousermanagement_1 | – The […]

如何运行与Docker的OpenEats(Django配方pipe理)?

我试图按照文档中的build议使用docker运行OpenEats。 https://github.com/RyanNoelk/OpenEats/blob/master/docs/Running_the_App.md docker-compose build给了我一些警告: 播种数据库和添加一些testing数据显然是可行的。 但在浏览器中,我得到一个空的页面,由以下来源: docker工人是全新的。 任何人都可以请尝试运行这个容器,看看它是否工作? 你有一个想法,我可能做错了什么? 主机系统是Lubuntu 16.10 64bit。

Drupal和Docker与本地同步文件夹

我试图设置一个与docker / docker-compose进行本地开发的drupal 8安装。 我想要的是一个与drupal容器的/var/www/html目录同步的本地文件夹,所以我可以在本地工作。 什么是最好的方法来实现呢? 这是我的docker-compose.yml: mysql: image: mysql:5.5 ports: – "3306:3306" environment: – MYSQL_USER=xxxxx – MYSQL_PASSWORD=xxxxxx – MYSQL_ROOT_PASSWORD=xxxxxxx – MYSQL_DATABASE=xxxxxxx drupal: image: drupal:8.0.4 links: – mysql ports: – "8080:80"

使用docker-compose的MongoDb副本集的连接错误

我试图连接到4个容器下运行的mongodb副本集:3个mongo作为集群,1个发布mongo命令给其他人。 在这里,我不知道如何连接到我的应用程序与MongoDB的url。 docker-compose.yml是 mongo3: image: mongo:latest hostname: mongo3 expose: – "27017" – "28017" restart: always entrypoint: [ "/usr/bin/mongod", "–replSet", "rs"] mongo2: image: mongo:latest hostname: mongo2 expose: – "27017" – "28017" restart: always entrypoint: [ "/usr/bin/mongod", "–replSet", "rs"] mongo1: image: mongo:latest hostname: mongo1 expose: – "27017" – "28017" links: – mongo2:mongo2 – mongo3:mongo3 restart: always entrypoint: […]

为什么docker-compose使用〜60GB来构build这个图像

当我开始docker-compose build我有60演出免费。 完成之前,我的空间用完了。 任何想法可能会发生什么? 我正在运行最新的Docker for Mac和docker-compose 这里是我的docker-compose文件: version: '3' services: db: image: postgres:9.6-alpine volumes: – data:/var/lib/postgresql/data ports: – 5432:5432 web: image: python:3.6-alpine command: ./waitforit.sh solr:8983 db:5432 — bash -c "./init.sh" build: . env_file: ./.env volumes: – .:/sark – solrcores:/solr ports: – 8000:8000 links: – db – solr restart: always solr: image: solr:6-alpine ports: – […]

Docker Compose – 在容器之间共享数据,不使用主机

对不起,我不知道正确的术语(所以我会试着通过使用这一切来得到我的观点)。 对不起,泊坞窗还是新的。 我需要一种方式来[在容器之间链接/挂载volume / volume_from]存储 – 但似乎无法弄清楚。 我不想使用主机,因为我试图共享一个大的s3桶 – 即主机物理上不能存储所有的副本。 泊坞窗,compose.yml web: hostname: web image: mprasil/webdav ports: – "80:80" links: – s3 volumes: – /local/dir/:/site/input/ s3: image: xueshanf/s3fs

docker-compose v2在主机上命名卷和卷

我正在寻找指导如何做一个docker-compose.yml版本2最干净的方法: 容器状态与容器明显分离。 为简单起见,将容器状态安装到主机(单个数据点,主机上的备份/数据,然后完成)。 我打开这是错误的,见下面的问题)。 该应用程序是一个经典的networking应用程序,后端有一个mysql&redis数据库,并有一个直接为静态资产提供服务的代理服务器。 像depends_on ,环境variables和networking的一些细节故意省略。 这是我现在使用的: version: "2" services: proxy: build: context: ./apps/nginx ports: – "80:80" – "443:443" volumes: – /etc/localtime:/etc/localtime:ro – ./data/web/assets:/var/www/assets:ro – ./data/web/puma:/var/run/puma web: build: context: ./apps/rails volumes: – /etc/localtime:/etc/localtime:ro – ./data/web/assets:/srv/app/public/assets – ./data/web/puma:/var/run/puma db: image: mysql:5.7 volumes: – /etc/localtime:/etc/localtime:ro – ./data/mysql:/var/lib/mysql redis: image: redis volumes: – /etc/localtime:/etc/localtime:ro – ./data/redis:/data 以下是我计划用于下一版本的内容: […]

使用Django和Postgres在AWS上生产Docker:

我一直被困在最后,试图找出一个可以支持我的“dockerized”Python Django项目的云环境设置。 我的应用程序的架构很简单, 我有一个Web服务,一个Redis服务和一个数据库服务(请参阅我的撰写XML文件下面)。 我的困惑是find一个正确的path移动一个本地设置,通过docker组成的yml文件站立起来,像一个生产环境。 我非常喜欢docker组合工具,并希望为我的生产环境使用类似的configuration文件; 但是,我发现大多数基于容器的云方法比这个复杂得多…本指南一直是我的最爱,但是它并没有深入到数据库中,而是依赖于组件(这就省略了必要的坚韧的东西!)。 问题: 我是否应该放弃在生产环境中使用docker-compose? 我应该使用未集装箱化的数据库吗? 如果我不这样做,那么如何将集装箱化的Web服务configuration到Amazon RDS实例? 我应该把docker-compose.yml分解成单独的docker文件吗? 我应该编写脚本来启动这些容器来维护环境吗? 有没有一个可靠的教程,我没有发现做这种事情? 我很困惑如何过于简单的许多指南都没有帮助甚至比“你好世界”更复杂的应用程序。 我还发现AWS和Heroku缺乏基于Docker的stream行程度的普通function。 这是一个普遍的观点吗? Heroku没有帮助或主张在容器中设置数据库,对于试图使用在v3中编写的docker-compose yml文件的用户,AWS仍然落后。 任何build议都非常感谢…过去三晚我一直没有得出可靠的结论。 version: '3.3' services: db: restart: always image: postgres networks: – webnet redis: restart: always image: redis:latest expose: – "6379" networks: – webnet web: restart: always build: . command: make start volumes: – .:/code deploy: […]

如何知道服务容器是否准备好连接?

我经常遇到这个问题在Docker中创build堆栈。 假设我在docker-compose.yml中有一个LAMP堆栈: db: image: mysql environment: MYSQL_VARIOUS: things web: build: . links: – db ports: – "80" entrypoint: – setup-and-start setup-and-start脚本如下所示: wait_for_mysql && initialize 如果Web容器安装了mysql-client,那么我可以很容易地定义wait_for_mysql : wait_for_mysql() { local timeout=10 while sleep 1; do mysql [credentials] -e 'select 1;' && return 0 (( –timeout <= 0 )) && break done echo 'Failed to initialize mysql […]