Tag: docker docker

使用docker-compose来Docker化Rails应用程序

嗨,我正在尝试将我的应用程序调整为泊坞窗。 我的应用程序堆栈是 Ruby 2.4.0 Rails 5.0.1 Postgres 9.5.8 我创build了一个Dockerfile来创build一个my-app的图像 FROM ruby:2.4 RUN apt-get update && apt-get install -y \ software-properties-common \ python-software-properties \ build-essential \ libpq-dev \ libxml2-dev libxslt1-dev \ libqt4-webkit libqt4-dev xvfb \ nodejs \ postgresql RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY Gemfile /usr/src/app COPY Gemfile.lock /usr/src/app RUN bundle install ADD . /usr/src/app […]

Docker-Compose WordPress MySql无法连接

尝试连接到我的WordPress网站时出现502网关错误。 看着日志我有这个错误。 MySQL Connection Error: (1045) Access denied for user 'root'@'172.23.0.3' (using password: YES) 这似乎工作,当我不改变密码,并保持所有的WordPress 。 我假设dockerfiles只是使用默认的密码,但看着他们后,我只能看到他们从环境中抓住。 但似乎并没有从我设定的环境中取得。 version: '2' services: db: image: mysql:5.7 volumes: – db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: ***** MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: ***** wordpress: depends_on: – db image: wordpress:latest ports: – "8085:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_PASSWORD: ****** volumes: […]

dockerregistryv2上传失败的一些图像

我在aws(acc和prod)上运行coreos上的两个kubernetes集群,并且都在nginx ssl(买了wildcart证书,选中ok)的terminal前往v1 + v2后端设置了一个自定义的registry,并且一切正常。 不知何故,我现在有一个问题,一个特定的版本不会上传。 另一个图像上传很好…一次又一次我看到相同的行为。 我build立的两个图像是WEB(虚拟大小约390 MB)和API(虚拟大小约420 MB)。 造成exception的是WEB图像,只是稍大一些,所以我没有看到那里的问题。 al再次运行良好,直到这个特定的图像出现。 我已经创build了不同大小的新版本,但它不会上传。 之后,其他的图片上传,进入同一个存储库,这是什么使这个案例如此有趣(让我疯了;)。 我不认为这是aws ssl elb设置的问题,因为我在nginx容器中进行ssl终止,所有其他服务在同一个体系结构中运行良好。 为了回应未来的问题,为什么v1后端是必要的:它需要容纳wercker,它仍然在v1后端。 registry然后将stream量redirect到v2后端,图像被存储在这里。 registry(v1和v2显示)的日志显示以下输出(按此顺序): PUT / v1 / repositories / web / 01 / Apr / 2016:09:47:41 +0000 DEBUG:args = {'namespace':'library','repository':u'xxxxx'} POST / v2 / xxxxx / blobs / uploads / time =“2016-04-01T10:07:31Z”level = info msg =“response completed”go.version = go1.5.3 […]

“无法在caching目录中写入”与Docker和Nginx

我用nginx和php设置了docker:fpm,我得到了: "Unable to write in the cache directory" Could not create cache directory 要么 "/usr/share/nginx/html/app/cache/dev/annotations". 错误,无论我尝试。 我知道这是一个常见的错误,但对于Nginx来说是新的,在Linux上不是很好,我似乎无法弄清楚我需要创build哪些用户以及需要创build哪些权限以及在哪里? 我已经尝试添加下面到我的nginx:最新的dockerfile,但没有运气。 有任何想法吗? RUN adduser www-data www-data RUN usermod -u 1000 www-data RUN chown -R www-data:www-data /usr/share/nginx/html/app/cache RUN chown -R www-data:www-data /usr/share/nginx/html/app/logs RUN rm -rf /usr/share/nginx/html/app/cache/* RUN rm -rf /usr/share/nginx/html/app/logs/* Dockerfile: FROM nginx:latest ADD . /usr/share/nginx/html RUN adduser www-data […]

docker使用xhyve在osx上组装mount主机目录

所以我的问题是关系到从我的osx macbook将主机目录挂载到机器内运行的容器。 在我以前的公司里,他们使用了devops,我们使用的是docker和virtualbox,我注意到他们使用VBoxManage将目录挂载到Docker机器上,然后将这些文件夹挂载到容器中。 但是,现在我不使用virtualbox,但xhyve虚拟机,我想知道如何可以访问我的容器内的主机目录。 我想托pipe数据库和代码库,将它们托pipe在nginx容器中,然后当代码在主机上时,使用IDEA编辑代码,然后给我一个工作平台。 然而,每当我按照我认为应该工作的指示,它似乎不能正常工作。 例如,我的nginxconfiguration是这样的: FROM nginx:latest RUN rm /etc/nginx/conf.d/default.conf ADD ./default.conf /etc/nginx/conf.d/ EXPOSE 80 EXPOSE 443 而我的docker工作就是这样的: version: "2" services: nginx_php: build: docker/nginx ports: – "10000:80" volumes: – .:/var/test 现在,当我做一个docker – 组成,然后使用“docker exec -it bash”shell进入docker容器我可以列出目录和find/ var / test,它包含SOMETHING,但不是我所期望的。 例如,在“。” 目录我在我的泊坞窗撰写的卷声明中使用,我有一个目录称为项目和在docker容器中的/ dev / test,我find项目。 但是,我没有find“堆栈”,这只是一个旧的目录剩余,不pipe它是什么,但我没有find它,所以它似乎已经挂载“。 但它没有显示一切,只是某些事情。 所以我又进了一步,在这个过程之前我创build了一个名为“angi”的目录,如果我列出项目的内容,我可以看到angi目录。 所以再进一步,我创build了一个名为“猴子”的目录,但是当我重build容器并重新启动时,我可以看到“/ projects / angi”,但是我看不到“/ projects / […]

Dockerfile将新创build的文件添加或复制到泊坞窗图像 – 没有这样的文件或目录

我正在尝试运行一个gulp构build过程,该过程创build了在docker构build过程中运行应用程序的已编译和缩小的文件。 我可以validation吞噬进程的工作原理,但一旦docker构build完成,服务器无法访问构build文件。 泊坞窗,compose.yml build: ${REPO} depends_on: – api ports: – "8083:8080" volumes: – ${REPO}:/usr/src/app Dockerfile: FROM python:3.5.1-onbuild ARG mode=dev ENV MODE $mode # Install node.js RUN apt-get update RUN apt-get install -y build-essential RUN apt-get install -y curl RUN curl -sL https://deb.nodesource.com/setup_6.x | bash RUN apt-get install -y nodejs RUN node -v RUN npm -v […]

通过使用Docker中设置的环境系统variables,无法从节点连接到MongoDB服务器

我正在尝试使用节点和MongoDB镜像来构buildDocker镜像,但是我无法从Dockerfile或docker-composer中设置环境variables。 Dockerfile: FROM节点 运行mkdir / app WORKDIR / app COPY package.json / app 运行npm安装COPY。 /应用 ENV MONGODB_URI 192.168.99.100 / myapp EXPOSE 3030 CMD [“npm”,“开始”] 泊坞窗,compose.yml: 版本:“2” 服务: 网站: build: . volumes: – ./:/app ports: – "3030:3030" environment: – MONGODB_URI="192.168.99.100/myapp" links: – "mongo" 蒙戈: image: "mongo" ports: – "27017:27017" volumes_from: – mongodata mongodata: image: tianon/true volumes: […]

不能在使用docker的moqui中实现Multi-instance时创build名为transactional_DS的JDBC数据源

由于Moqui Framework 2.0.0的多租户function已被删除,所以我试图用Docker来实现它。 我刚刚使用$ ./docker-build.sh创build图像 Modified -moqui-ng-my-compose.yml ./compose-run.sh moqui-ng-my-compose.yml 发生exception: | 08:07:47.864 INFO main .moqui.icTransactionInternalBitronix Initializing DataSource transactional_DS (mysql) with properties: [uri:jdbc:mysql://127.0.0.1:3306/moquitest_20161126?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8, user:root] moqui-server | 08:07:51.868 ERROR main o.moqui.iwMoquiContextListener Error initializing webapp context: bitronix.tm.resource.ResourceConfigurationException: cannot create JDBC datasource named transactional_DS moqui-server | bitronix.tm.resource.ResourceConfigurationException: cannot create JDBC datasource named transactional_DS moqui-server | at bitronix.tm.resource.jdbc.PoolingDataSource.init(PoolingDataSource.java:91) ~[btm-3.0.0-SNAPSHOT.jar:3.0.0-SNAPSHOT] moqui-server […]

如何在Windows 10中暴露Docker中的端口?

我在Windows 10 Pro机器上安装了正确安装的Docker CE副本。 我正在尝试使用docker-compose来运行一个简单的节点应用程序,并且能够在docker中运行时dynamic更新代码。 我跟着这个网站来build立它,我的代码可以在这里find。 当我在localhost:8080运行代码时导航到localhost:8080时,我得到我的网页。 当我通过Docker运行它时,从我的Web浏览器(相同的URL)中得到“这个页面不工作”。 我已经确定在Docker中运行之前停止在本地运行,以便端口不被越过。 我的Dockerfile: FROM node:6.10.2 RUN useradd –user-group –create-home –shell /bin/false app ENV HOME=/home/app COPY package.json npm-shrinkwrap.json $HOME/diet-program/ RUN chown -R app:app $HOME/* USER app WORKDIR $HOME/diet-program RUN npm install EXPOSE 8080 CMD ["npm", "run", "dev"] 我的docker-compose.yml: version: '2' services: diet-program: build: . ports: – "8080:8080" volumes: – […]

等待Docker容器准备就绪

我有以下docker-compose.yml : version: '2' services: server: build: . command: ["./setup/wait-for-postgres.sh", "tide_server::5432", "cd /app", "npm install", "npm run start"] ports: – 3030:3030 links: – database depends_on: – database database: image: postgres environment: – "POSTGRES_USER=postgres" – "POSTGRES_PASSWORD=postgres" – "POSTGRES_DB=tide_server" ports: – 5432:5432 我试着按照这个教程 ,使用下面的shell脚本来确定postgres何时准备好。 #!/bin/bash # wait-for-postgres.sh set -e host="$1" shift cmd="$@" until psql -h "$host" -U […]