Tag:

用docker-compose运行docker镜像

我有我的简单的应用程序在C#中,连接到PostgreSQL。 我想创build这个应用程序的形象,只是与docker运行。 我使用时一切正常: $ docker build $ docker run postgres $ docker run my_app 此外,当我使用从应用程序目录撰写时,一切都可以: $ docker-compose build $ docker-compose up 但是有没有机会使用docker-compose为我以前build造的图像? 我想发布这个图像到我的回购和我的团队的其他人只是下载并运行这个图像(应用程序+数据库)。 当我编写构build和下一步撰写运行my_app我连接到数据库时有exception: dbug: Npgsql.NpgsqlConnection[3] Opening connection to database 'POSTGRES_USER' on server 'tcp://postgres:5432'. Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.AggregateException: One or more errors occurred. (No […]

为什么“docker-compose run”在容器外创build文件?

我是Docker的新手,我正在学习Docker及其官方文档。 在一个教程中 ,它解释了如何使用Docker创build一个Django项目。 我不明白的是下面的命令。 docker-compose run web django-admin.py startproject composeexample . 该文件说,它将在一个容器内创build一个Django项目,这些新创build的文件将在本地文件系统。 我的问题是,为什么这些新创build的文件将在本地系统,如果它们在一个容器中创build?

将docker-compose日志保存到文件中

我有我的生成服务器上运行的unit testing,并希望捕获日志结果分析失败时。 我还没有find一种方法将docker-compose logs的输出redirect到一个文件,或者find日志文件本身实际存在的位置。 我想要相当于: docker-compose logs > logs.txt 编辑 – 澄清: 我所有的docker集装箱产生有用的日志,这是一个手工运行的docker-compose logs显示。 我想脚本这个过程将这些相同的日志保存到我的生成服务器上的一个文件。 基本上, docker-compose logs的输出保存到一个文件,然而docker-compose logs永远不会退出。

无法通过PHP连接到docker mysql

我有一个docker-compose设置了两个容器:一个是php / apache服务,另一个容器是数据库(mysql)。 这是我的docker-compose.yml version: '2' services: app: depends_on: – db links: – db:mysql build: . image: app ports: – "80:80" restart: always links: – db:db volumes: – ../:/var/www/html/ db: image: mysql:latest restart: unless-stopped volumes: – ./db_data:/var/lib/mysql – ./databaseDumps:/tmp/databaseDumps environment: MYSQL_USER: "myApp" MYSQL_PASSWORD: "root" MYSQL_ROOT_PASSWORD: "root" MYSQL_DATABASE: "myAppDatabase" MYSQL_ROOT_HOST: "%" 这里是我的应用程序Dockerfile: FROM php:7-apache COPY prefilled_files/000-default.conf […]

Docker撰写mysql导入.sql

我无法用docker-compose导入.sql转储文件。 我已经按照文档,这显然会从docker-entrypoint-initdb.d加载.sql文件。 但是,当我运行docker-compose up ,sql文件不会被复制到容器。 我已经尝试用-vf标志停止容器,但是这也不起作用。 我在我的.yml脚本中做错了什么? 我在我的撰写文件所在的目录database / db-dump /中有dump.sql。 frontend: image: myimage ports: – "80:80" links: – mysql mysql: image: mysql ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_USER: dbuser MYSQL_PASSWORD: userpass MYSQL_DATABASE: myimage_db volumes: – ./database/db-dump:/docker-entrypoint-initdb.d

Docker-compose:数据库是未初始化的

我有一个docker-compose和mysql的问题: 泊坞窗,compose.yml version: '2' services: db: image: mysql volumes: – "./sito/db/:/var/lib/mysql" ports: – "3306:3306" restart: always environment: MYSQL_ROOT_PASSWORD: app: depends_on: – db image: eboraas/apache-php links: – db ports: – "80:80" volumes: – ./sito/:/var/www/html/ 撰写此容器时发生错误: Recreating phpapp_phpapache_1 Attaching to phpapp_db_1, phpapp_phpapache_1 db_1 | error: database is uninitialized and password option is not specified db_1 | You […]

预编译的资产在泊坞窗图像中不存在

我正在尝试使用docker运行简单的Rails应用程序。 源自数据容器“app”的源代码。 'app'数据容器也被nginx用于服务器预编译的资产和静态文件。 但是在运行“bundle exec rake assets:precompile”之后没有find预编译的资源。 我在使用VirtualBox的Mac OS X上使用docker(Docker version 1.10.1,build 9e83765)。 泊坞窗,compose.yml version: '2' services: web: build: . command: bundle exec puma env_file: .env environment: – RACK_ENV=production – RAILS_ENV=production volumes_from: – app ports: – "3000:3000" links: – db nginx: image: nginx ports: – "80:80" volumes_from: – app volumes: – /app/public:/usr/share/nginx/html:ro – /app/config/deploy/nginx.conf:/etc/nginx/conf.d/default.conf db: […]

Docker – 无法在java之间的卷之间移动文件

我有两个docker集装箱:生产者和消费者。 消费者容器有两卷: VOLUME ["/opt/queue/in", "/opt/queue/out"] 泊坞窗,compose.yml consumer: image: consumer producer: image: producer volumes_from: – consumer 生产者将文件放在/opt/queue/in目录中,使用者从该目录读取文件并将其移动到/opt/queue/out 。 问题是,消费者是用Java编写的,下面的Java代码返回-1 (操作失败)。 new File('/opt/queue/in/in_file').renameTo(new File('/opt/queue/in/in_file')); 当我尝试从命令行移动文件没有错误。 文件被正确移动。 为什么发生这种情况? 我如何诊断问题是什么?

设置为Windows防火墙允许Docker for Windows共享驱动器

Windows防火墙阻止我允许Docker for Windows在Windows 10计算机上共享C:的尝试。 Windows防火墙closures时正常工作。 当我得到它 Windows和容器之间的防火墙正在阻止文件共享。 请参阅文档了解更多信息。 文件说 您不需要在任何其他networking上打开端口445。 默认情况下,允许从10.0.75.2(虚拟机)连接到10.0.75.1端口445(Windows主机)。 我试图find如何做到这一点 – “可以有人build议吗?

docker-compose中的命令行参数

docker的mysql映像在运行容器时允许configuration参数。 $ docker run –name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag –character-set-server=utf8mb4 –collation-server=utf8mb4_unicode_ci docker-compose是如何实现的? 我已经尝试了 – -command但我不能得到它的工作。