Tag: docker docker

使用docker来编写一个远程映像,使用本地代码库进行*开发*

我一直在阅读本教程: https://prakhar.me/docker-curriculum/ 以及其他教程和Dockerdocker,我仍然不完全清楚如何执行此任务。 问题 我的本地机器运行的是Mac OS X,我想为python项目build立一个开发环境。 在这个项目中,我需要从bamos/openface repo bamos/openface运行api。 该项目也有一些依赖,如yaml等。如果我只是将我的本地安装到openface ,即: docker run -v path/to/project:/root/project -p 9000:9000 -p 8000:8000 -t -i bamos/openface /bin/bash 然后我需要安装yaml和其他依赖项,每次我退出容器时,安装都会丢失。 另外,由于某种原因,速度也慢得多。 所以正确的做法是使用Docker撰写,但我不知道如何从这里开始。 UPDATE 在回应评论时,我现在将更新问题:现在我的Dockerfile看起来像这样: FROM continuumio/anaconda ADD . /face-off WORKDIR /face-off RUN pip install -r requirements.txt EXPOSE 5000 CMD [ "python", "app.py" ] 由于我的很多代码会使用numpy和scipy,所以我从anaconda构build是非常重要的。 现在我也需要bamos/openface ,所以我试着把它添加到我docker-compose.yml文件中: version: '2' services: web: […]

Docker:如何依靠本地数据库而不是数据库泊坞窗容器?

总的来说:我不希望我的django应用程序依靠一个docker容器作为我的分贝。 换句话说,当我运行一个图像 docker run -p 8000:8000 -d imagename 我想知道连接到我的本地数据库。 我有我的settings.pyconfiguration为连接到PG数据库,所以一切都很好,当我做类似的事情 python manage.py runserver 随时调用任何不正确的使用某些条款或只是我对docker的整体理解。 所以从我看到的所有教程中,他们通常会创build一个依赖于db-image的docker撰写文件,这个文件将会放在与web应用程序分开的容器中 。 我已经经历的事例: https : //docs.docker.com/compose/django/#connect-the-database,http ://ruddra.com/2016/08/14/docker-django-nginx- postgres /等。在这一点上,我非常失落,因为我不知道我是否在Dockerfile,settings.py或docker-compose.yml中执行此操作(我猜我不应该甚至有这个,因为这是一个多容器的应用程序,我试图避免)。 [另外:最后,只有一个容器能运行一个django应用程序依赖于芹菜和rabbitmq吗? 就像我的pg例子,我只能看到它们都在单独的容器中的实例。]至于我的Dockerfile,这几乎是这样的。 FROM python:3 ENV APP 'http://githubproj` RUN git clone $APP \ && cd $APP/projectitself \ && pip install -r requirements.txt CMD cd $APP_DIR/mydjangoproject && gunicorn mydjangoproject.wsgi:application –bind 0.0.0.0:8000

Sidekiq使用redis的不正确的URL

我build立了我的Docker环境,并试图让sidekiq与我的其他服务一起使用docker docker-compose up ,但是sidekiq在尝试连接到错误的 redis URL时抛出一个错误: redis_1 | 1:M 19 Jun 02:04:35.137 * The server is now ready to accept connections on port 6379 sidekiq_1 | Error connecting to Redis on 127.0.0.1:6379 (Errno::ECONNREFUSED) 我相当有信心,在我的Rails应用程序中没有引用将有Sidekiq连接到本地主机,而不是docker-compose.yml中创build的redis服务: version: '3' services: db: image: postgres web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: – .:/app […]

Docker化已经存在的应用程序和数据库

我正在尝试Dockerize已经创build的应用程序(包括数据库)。 我有适当的文件: 泊坞窗,compose.yml dockerfile requirements.txt 我在数据库部分有问题 – 如何configurationdocker-compose.yml文件指向已经创build的数据库? 这就是为什么我问 – 我对Docker的理解 – 是你创build你的基本应用程序 – 然后“Dockerize”它或打包成一个你可以分发的图像。 我是一个初学者 – 所以这可能是我不理解的原因。 这是我目前的docker-compose.yml: version: '2' services: db: image: postgres:9.6 environment: – POSTGRES_USER=postgres – POSTGRES_PASSWORD=qwerty – POSTGRES_DB=ar_db ports: – "5433:5433" web: build: . command: python2.7 manage.py runserver 0.0.0.0:8000 volumes: – .:/code ports: – "8000:8000" depends_on: – db 和dockerfile: ############################################################ # […]

Maven的子模块无法在Docker构build的图像中find父pom / artifact

项目结构就像 parent-project — pom.xml — child-project-1 — pom.xml — Dockerfile — child-project-2 — pom.xml 当mvntesting运行在本地child-project-1时,它工作正常。 但是,当mvntesting在child-project-1的Docker镜像中运行时,它找不到父pom。 我尝试使用Dockerfile中的ADD / COPY添加父pom.xml,但它抛出了构build上下文错误。 想知道如何从我们构buildDocker镜像的maven模块引用父pom 下面是日志, 正如前面提到的那样,child-project-1 pom.xml没有问题,并且在Docker之外构build的时候它正在build造 。 + docker-compose -f ./child-project-1/src/test/resources/config/docker-compose.yml build test Building test Step 1/5 : FROM maven:3.5-jdk-8 —> 080cf1fccf1c Step 2/5 : COPY . /usr/src/parent-project/child-project-1 —> Using cache —> af309a791cce Step 3/5 : WORKDIR /usr/src/parent-project/child-project-1 […]

以非root用户身份启动Mongodb容器

我正在使用mongo:3.2的官方mongodb docker。 在entrypoint.sh我重新启动与复制模式的Mongodb。 Mongodb进程由root用户拥有。 有没有什么办法可以通过非root用户启动容器,并能够在副本集模式下重启mongodb。 现在我收到以下错误。 在initAndListen:98中存储[initandlisten]exception无法创build/打开locking文件:/data/db/mongod.lock errno:13权限被拒绝是否mongod实例已经在运行?终止 我的docker文件是 FROM mongo:3.2 COPY entrypoint.sh /root/entrypoint.sh ENTRYPOINT ["/root/entrypoint.sh"] here 谢谢,

在swarm容器和主机之间进行通信

这是一个关于Docker的初学者问题。 我在一台主机上运行一个基本的群体作为testing环境。 有11个不同的容器在运行,都通过主机进行通信(现在我正在input这个文字的机器)。 只有1个物理机器,11个容器。 在我的物理机器的本地主机上运行一个MongoDB服务器。 我希望能够在我的群集中的容器内与这个MongoDB服务器进行通信。 我需要configuration什么才能使这个工作? 关于Docker的联网有很多信息。 我通常使用: docker run –net="host" –rm -ti <name_of_image> 一切正常。 但是,只要我运行一个群(而不是一个容器),我似乎无法弄清楚如何将所有东西连接在一起,所以我可以和我的MongoDB服务器通信。 我意识到这可能是一个非常基本的问题。 我也很欣赏,我可能需要阅读更多的群networking文档来了解这一点,但我不知道要看哪些文档。 似乎有多种不同的方式来将我的容器和物理机器联网在一起。 任何信息都将非常感谢,即使它只是一些你认为会有启发性的文档的链接。 干杯。

在部署docker作曲者的形象时感到困惑

我一直在做一个ruby-on-rails示例应用程序,并在Linux服务器(ubuntu 14.04)中部署Docker镜像。 这是我的Dockerfile: FROM ruby:2.1.5 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs RUN mkdir /rails_docker_demo WORKDIR /rails_docker_demo ADD Gemfile /rails_docker_demo/Gemfile ADD Gemfile.lock /rails_docker_demo/Gemfile.lock RUN bundle install ADD . /rails_docker_demo # CMD bundle exec rails s -p 3000 -b 0.0.0.0 # EXPOSE 3000 泊坞窗,compose.yml: version: '2' services: db: image: postgres web: build: […]

docker中的pg_dump问题

这里是我的docker文件,这里是我的docker -compose文件 。 当我运行docker-compose run web rake db:migrate我得到了这个错误 rake aborted! failed to execute: pg_dump -s -x -O -f /usr/src/app/db/structure.sql –schema=public –schema=partitioning docker_rails_dev Please check the output above for any errors and make sure that `pg_dump` is installed in your PATH and has proper permissions. /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/tasks/postgresql_database_tasks.rb:90:in `run_cmd' /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/tasks/postgresql_database_tasks.rb:55:in `structure_dump' /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/tasks/database_tasks.rb:183:in `structure_dump' /usr/local/bundle/gems/activerecord-4.2.7.1/lib/active_record/railties/databases.rake:279:in `block (3 levels) in […]

无法启动服务应用程序:oci运行时错误 – 在$ PATH中找不到可执行文件

运行docker-compose时出现以下错误: Cannot start service app: oci runtime error: container_linux.go:247: starting container process caused "exec: \"script.sh\": executable file not found in $PATH" ERROR: Encountered errors while bringing up the project. 我的docker-compose.yml version: '2.0' services: app: build: app volumes: – C:\Users\svirl\Documents\workspace\bgs-web:/var/www/html/:rw 并在我的app文件夹 Dockerfile FROM php:5.6-apache WORKDIR /var/www/html/ ADD script.sh /var/www/html RUN chmod +x /var/www/html/script.sh RUN curl -sS […]