Tag: docker docker

如何使用docker-py中的副本将文件从容器复制到主机

我正在使用docker-py。 我想从Docker容器复制文件到主机。 从docker-py文档: copy Identical to the docker cp command. Get files/folders from the container. Params: container (str): The container to copy from resource (str): The path within the container Returns (str): The contents of the file as a string 我可以创build容器并启动它,但无法获取从容器复制到主机的文件。 有人能帮我指出我是否失去了什么? 我有我的docker集装箱/mydir/myshell.sh我试图复制到主机。 >>> a = c.copy(container="7eb334c512c57d37e38161ab7aad014ebaf6a622e4b8c868d7a666e1d855d217", resource="/mydir/myshell.sh") >>> a <requests.packages.urllib3.response.HTTPResponse object at 0x7f2f2aa57050> >>> […]

正确拉动edxops /论坛的方式

我正在使用OpenEdx自己的OpenEdx 。 我从devstack拉了官方devstack存储库,我正在修改它。 我试图添加forums到我的堆栈,但我不能运行,因为docker组成。 我添加到composer文件: forums: command: bash -c 'source /edx/app/forum/cs_comments_service_env && ruby app.rb -p 18080' container_name: edx.devstack.forums depends_on: # – xqueue:xqueue – mongo – elasticsearch # – rabbitmq:rabbitmq – mysql – memcached environment: CACHE_LOCATION: edx.devstack.memcached:12211 DB_HOST: edx.devstack.mysql TEST_ELASTICSEARCH_URL: "http://edx.devstack.elasticsearch:9200" image: edxops/forums:latest ports: – 4567:4567 我对运行中正确的命令感到困惑: studio: command: bash -c 'source /edx/app/edxapp/edxapp_env && python /edx/app/edxapp/edx-platform/manage.py […]

Docker Compose + Spring Boot + Postgres连接

我有一个Java的春季启动应用程序与Postgres数据库的作品。 我想为他们两个使用Docker。 我最初只是在Docker中放置Postgres,并且我有一个像这样定义docker-compose.yml文件: version: '2' services: db: container_name: sample_db image: postgres:9.5 volumes: – sample_db:/var/lib/postgresql/data environment: – POSTGRES_PASSWORD=sample – POSTGRES_USER=sample – POSTGRES_DB=sample – PGDATA=/var/lib/postgresql/data/pgdata ports: – 5432:5432 volumes: sample_db: {} 然后,当我发出sudo dockerd和sudo dockerd sudo docker-compose -f docker-compose.yml up ,它启动数据库。 我可以使用pgAdmin连接,例如使用localhost作为服务器和端口5432 。 然后,在我的Spring Boot应用程序中,在application.properties文件中定义了以下属性。 spring.datasource.url=jdbc:postgresql://localhost:5432/sample spring.datasource.username=sample spring.datasource.password=sample spring.jpa.generate-ddl=true 在这一点上,我可以通过Spring Suite在本地运行我的Spring Boot应用程序,并且一切正常。 然后,我想将我的Spring Boot应用程序添加为Docker镜像。 我首先在我的项目目录中创build了一个Dockerfile,如下所示: FROM java:8 EXPOSE […]

在docker构build之后加载Postgres转储

我有一个我想加载docker-compose的dump.sql文件。 泊坞窗,compose.yml: services: postgres: environment: POSTGRES_DB: my_db_name POSTGRES_USER: my_name POSTGRES_PASSWORD: my_password build: context: . dockerfile: ./devops/db/Dockerfile.db 我的Dockerfile.db目前非常简单: FROM postgres MAINTAINER me <me@me.me> COPY ./devops/db ./devops/db WORKDIR ./devops/db 我想在某个时候运行一个像psql my_db_name < dump.sql的命令。 如果我从Dockerfile.db运行这样的脚本,问题是脚本在构build之后但在docker构build之前运行,并且数据库尚未运行。 任何想法如何做到这一点?

Docker-compose:总是接收无法find指定的Dockerfile

我有一个以下的项目结构: WebApp — docker-compose.yml — Dockerfile — docker — docker-gc –Dockerfile docker/docker-gc是我在使用这个命令之前创build的一个git子模块: git submodule add git@github.com:spotify/docker-gc.git docker/docker-gc 在docker docker-gc compc中,我尝试在docker docker-gc运行Dockerfile。 这是我的服务: gc: container_name: docker-gc build: ./docker/docker-gc dockerfile: ./docker/docker-gc/Dockerfile volumes: – /var/run/docker.sock:/var/run/docker.sock – /etc:/etc 但我总是收到错误: 找不到指定的Dockerfile ./docker/docker-gc/Dockerfile 我已经尝试了许多方式,如docker/docker-gc/Dockerfile /docker/docker-gc/Dockerfile docker/docker-gc/Dockerfile或/docker/docker-gc/Dockerfile没有结果。 这个问题涉及到符号链接(由于git子模块性质)。 请告诉我如何解决这个问题。

无效凭据 – git社区版中的LDAP访问错误

我想设置版本控制和持续集成的git。 我使用docker-compose文件安装了git社区版,如https://docs.gitlab.com/omnibus/docker/README.html#install-gitlab-using-docker-compose的第2步所述。 我的docker-compose.yml文件如下所示: web: image: 'gitlab/gitlab-ce:latest' container_name: git restart: always hostname: 'gitserver' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://gitserver.local' # Add any other gitlab.rb configuration here, each on its own line ports: – '80:80' – '443:443' – '22:22' volumes: – '/srv/gitlab/config:/etc/gitlab' – '/srv/gitlab/ssl:/etc/gitlab/ssl' – '/srv/gitlab/logs:/var/log/gitlab' – '/srv/gitlab/data:/var/opt/gitlab' 我修改了/srv/gitlab/config/gitlab.rb以包含LDAP: gitlab_rails['ldap_enabled'] = true ###! **remember to close this block […]

Docker Compose + Rails:迁移的最佳实践?

我只是按照这篇关于在Docker中运行Rails开发环境的文章。 好文章,效果很好。 完成所有工作后,我决定继续build立一个生产环境。 目标: 我想rake db:create && rake db:migrate每次我的docker图像运行。 问题: 如果我移动数据库创build和迁移步骤… docker-compose run app rake db:create docker-compose run app rake db:migrate …到Dockerfile中… RUN rake db:create && rake db:migrate …会抛出一个错误… could not translate host name "postgres" to address: Name or service not known …因为我的database.yml的host … default: &default adapter: postgresql encoding: unicode pool: 5 timeout: 5000 username: […]

Docker:RUN touch不会创build文件

在尝试debuggingDockerfile中的RUN语句时,我试图将输出redirect到绑定卷( ./mongo/log )中的文件。 令我惊讶的是,我无法通过RUN命令创build文件,或者使用redirect/附加( > , >> )操作符将另一个命令的输出传送到文件。 然而,我可以通过docker exec -ti mycontainer /bin/shlogin正在运行的容器并从那里发出命令来执行上述任务。 为什么会发生这种行为? 如何将Dockerfile / redirect输出中的文件与文件或运行Dockerfile的控制台联系起来? 这是我的Dockerfile: FROM mongo:3.4 #Installing NodeJS RUN apt-get update && \ apt-get install -y curl && \ curl -sL https://deb.nodesource.com/setup_6.x | bash – && \ apt-get install -y nodejs #Setting Up Mongo WORKDIR /var/www/smq COPY ./mongo-setup.js mongo-setup.js ##for testing […]

由于错误而无法删除图像:“来自守护进程的错误响应:引用不存在”

我在尝试清除由Docker创build的映像时遇到了一个奇怪的问题。 这就是我所做的: 删除所有容器 $ docker rm $(docker ps -a -q) bb3927e956bf 3e2eeb6287c4 检查是否有任何容器正在运行或创build后: $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 删除所有图像:第一次尝试失败,因为图像被引用 $ docker rmi $(docker images -q) Error response from daemon: conflict: unable to delete 2f21ea981017 (must be forced) – image is referenced in one or more repositories Error response […]

Docker在docker上的主机运行脚本 – 组成

感谢您收看这个问题。 所以我的问题涉及如何在docker-up命令上运行脚本的最佳实践。 目前,我在主机和容器之间共享一个卷,以允许脚本更改对主机和容器都可见。 类似于观察脚本轮询configuration文件的更改。 脚本必须根据预定义的规则在主机上进行更改。 所以我的问题是: 我怎么能在docker上创build这个脚本 – 组成up指令,甚至是从服务的dockerfile开始,这样,只要容器上去了,“观察者”就可以find正在写入和写入的任何变化。 有问题的容器将永远运行在debian / ubuntu操作系统上,并且应该独立于架构,这意味着它也应该能够在ARM上运行。 提前致谢 我也想知道,为什么这个问题只是因为有些人不明白而被低估了。 我希望在主机上运行脚本,而不是在容器内部运行。我需要主机更改其networking接口configuration,以便轻松适应任何环境。主机需要更改我重复一次。这应该对用户是无缝的,并且很容易在运行的Web界面上编辑,以适应新的环境。 我目前正在基于crontab的主机上运行脚本。 我只想知道如何在INSIDE CONTAINER上运行HOST脚本的最佳实践和示例,这样安装操作员就可以轻松地运行docker-compose。 谢谢