Tag:

docker windows暴露的端口不能从主机外部访问

我在Windows 10主机(运行Linux容器)上安装了Docker: Client: Version: 17.03.1-ce API version: 1.27 Go version: go1.7.5 Git commit: c6d412e Built: Tue Mar 28 00:40:02 2017 OS/Arch: windows/amd64 Server: Version: 17.03.1-ce API version: 1.27 (minimum version 1.12) Go version: go1.7.5 Git commit: c6d412e Built: Fri Mar 24 00:00:50 2017 OS/Arch: linux/amd64 Experimental: true 我运行了这样一个简单的命令: docker run -d -p 80:80 –name webserver […]

使用docker-compose公开容器端口到本地主机

我有一个rails应用程序,我使用docker-compose来启动docker容器。 $ docker-compose -f docker-compose.yml up -d 但我无法访问我的服务器的IP地址(即server's public ip address : port )我的应用程序。 这是我的docker-compose文件: version: '3' volumes: database: app: search_conf: services: pgsql: container_name: pgsql image: postgres volumes: – database:/var/lib/postgresql/data sphinx: container_name: sphinx image: leodido/sphinxsearch:2.2.9 hostname: sphinx command: searchd.sh links: – pgsql volumes: – app:/app – search_conf:/usr/local/etc/ foobar: container_name: foobar env_file: .env.dev links: – pgsql […]

Docker撰写,导轨和绑定的开发环境 – 有点破碎

我想使用docker-compose的绑定挂载来允许我自己对rails控制器进行修改,并让它们立即显示在我的dev服务器上,而不必重新编译映像。 如果我创build了一个没有绑定装载的API镜像,连接了dockerfile,它就能正常工作 – 没有错误,function正确,但是我没有select在运行中修改。 不幸的是,当我添加一个绑定挂载,以掩盖我的应用程序工作文件夹上的容器时,我在docker-compose输出中出现以下错误: api_1 | bundler: failed to load command: rails (/usr/local/bundle/bin/rails) api_1 | Bundler::GemNotFound: Could not find rake-12.2.1 in any of the sources api_1 | /usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/spec_set.rb:88:in `block in materialize' api_1 | /usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/spec_set.rb:82:in `map!' api_1 | /usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/spec_set.rb:82:in `materialize' api_1 | /usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/definition.rb:170:in `specs' api_1 | /usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/definition.rb:237:in `specs_for' api_1 | /usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/definition.rb:226:in `requested_specs' api_1 | /usr/local/lib/ruby/gems/2.4.0/gems/bundler-1.16.0/lib/bundler/runtime.rb:108:in […]

使用docker时避免双包安装

我使用泊坞窗作为我的开发环境与我的rails应用程序与以下docker-compose.yml : app: build: . ports: – "3000:3000" links: – db – mail volumes: – .:/usr/src/app – gemrc:/etc/gemrc db: image: mdillon/postgis ports: – "5432:5432" environment: – POSTGRES_USER=user – POSTGRES_PASSWORD=password – POSTGRES_DB=database volumes: – ./docker/pgdata:/var/lib/postgresql/data mail: image: djfarrelly/maildev ports: – "1080:80" 和我的Dockerfile : FROM rails:onbuild 当我需要添加一个新的gem到我的Gemfile时,我必须先生成我的Gemfile.lock : docker run –rm -v gemrc:/etc/gemrc -v /home/user/project:/usr/src/app -w /usr/src/app […]

更新dockerfile后重新创build一个容器

我有一个dev.Dockerfile和一个docker-compose.yml文件。 当我运行docker-compose up ,即使我更新了dev.Dockerfile docker-compose up它也会运行旧的容器。 我怎样才能更新容器? 运行docker-compose up之后有没有办法更新容器? 这是我的dev.Dockerfile FROM ruby:2.3.1 MAINTAINER Abraham Kuri <kurenn@icalialabs.com> RUN mkdir -p /usr/src/app WORKDIR /usr/src/app RUN set -ex \ && curl -sL "https://deb.nodesource.com/setup_6.x" | bash – \ && apt-get -y install nodejs \ && npm install -g bower RUN gem install bundler -v 1.11.2 –no-ri –no-rdoc ENV PATH=/usr/src/app/bin:$PATH […]

使用非默认端口在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 […]

docker-compse生成错误 – 不受支持的版本

我正在尝试使用postgres dockerise我的rails应用程序。 我遵循了几个在线tutoarials,但我有很多麻烦。 我也支持不起作用的公司代理 我可以dockerdocker生成–build_args并通过http代理。 我不想运行docker构build和我得到以下错误: ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version ("2.0", "2.1", "3.0", "3.1", "3.2") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions […]

Docker-compose:在SIGTERM之后closures端口

我在我的开发环境中使用Docker和Docker Compose。 当我在项目之间切换时,通常会遇到一些麻烦,因为我收到了PORT ALREADY IN USE错误。 如果我做docker-compose up (这使得我的轨道服务器启动),是Ctrl+C终止此容器的正确方法? 这是我docker-compose.yml文件: db: image: postgres ports: – "5432" web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: – .:/myapp ports: – "3000:3000" links: – db 有时候,我只需删除./tmp/pids/server.pid ,但有时我必须kill -9一些进程。 这里是例如ps -edf | grep docker ps -edf | grep docker输出: root 742 1 0 Jul18 […]

在做任何源码(Bundler :: GemNotFound)时,无法find链轮3.6.2

我是docker工人。 我有一个现有的轨道应用程序,我想dockerize它。 请帮助我,我该如何解决这个问题。 我遇到了这个问题。 我运行这个时发布了错误。 redis_1 | 1:M 03 Jul 11:47:39.087 * The server is now ready to accept connections on port 6379 sidekiq_1 | /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find sprockets-3.6.2 in any of the sources (Bundler::GemNotFound) sidekiq_1 | from /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/spec_set.rb:85:in `map!' sidekiq_1 | from /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/spec_set.rb:85:in `materialize' sidekiq_1 | from /usr/local/bundle/gems/bundler-1.10.6/lib/bundler/definition.rb:140:in `specs' sidekiq_1 […]

使用Docker-compose进行卷安装的问题

每当我在我的Rails应用程序中对任何控制器(或一般的文件)进行更改时,我都看不到它们,直到我运行docker-compose down docker-compose build ,最后docker-compose up 。 基本上,我必须完全重build项目,并再次运行,以使我的更改生效。 显示的唯一更改是对视图进行的更改。 我目前的过程来获得环境设置是: cd进入保存Dockerfile的目录 运行docker-compose构build(如果尚未构build) 运行docker – 组成 我错过了什么? 我正在使用Docker for Windows。 我的docker-compose.yml如下所示: version: '2' services: db: image: postgres environment: POSTGRES_DB: dev POSTGRES_USER: user POSTGRES_PASSWORD: password web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: – .:/myapp ports: – "3000:3000" depends_on: – db Dockerfile如下: […]