Tag: 窗撰写

如何将本地托pipe的MySQL数据库连接到Docker容器

我知道这个问题可能会重复,但我没有得到任何明确的答案。 因为我对docker概念完全陌生。 通过docker-compose.yml我能够运行应用程序。 现在我们要将应用程序移动到生产环境,但是我们不想使用容器数据库。 那么有什么办法,以便我可以连接我的本地MySQL数据库与应用程序使用docker-compose ? 我的docker-compose.yml如下所示: version: '3' services: web-app: build: context: . dockerfile: web-app/Dockerfile ports: – 8080:8080 links: – app-db app-db: build: context: . dockerfile: app-db/Dockerfile environment: – MYSQL_ROOT_PASSWORD=password – MYSQL_DATABASE=Optimize ports: – 3306:3306 而不是app-db部分,我只想连接到我本地托pipe的mysql数据库。 任何帮助将不胜感激。

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但我不能得到它的工作。

Symfony服务器:在PHP Docker容器中运行

我有一个PHPdocker集装箱在哪里是我的symfony项目。 这是我的docker-compose.yml php-fpm: build: ./php container_name: php-fpm links: – db ports: – 9000:9000 – 8448:8448 – 8000:8000 working_dir: /var/www/html/ volumes: – ../app:/var/www/html volumes_from: – data tty: true env_file: – ./docker.env entrypoint: /entrypoint.sh 我想用这个命令启动我的symfony项目: php bin/console server:run localhost:8000 但是,当我想访问url时,它不工作。 我有这个错误消息: 本地主机页面不起作用 本地主机没有发送任何数据。 我该如何解决这个问题? PS:我正在使用docker for mac 和php bin/console -vvv server:run localhost:8000输出: [2016-08-06 14:09:53] php.DEBUG:fsockopen():无法连接到localhost:8000(Connection refused){“type”:2,“file”:“/ var […]

docker的mysql不能连接到容器

我有docker-compose文件来创buildmysql映像并将端口暴露给3306,但是当我尝试安装CMS时,它给了我错误,它无法连接到数据库。 我试图扫描端口3306,它显示它已经打开,所以mysql正在运行。 为什么两个docker集装箱不能看到对方? 这是我的docker-compose文件: phpfpm: restart: always extends: file: php-fpm-5.6.yml service: phpfpm links: – db:db nginx: restart: always image: nginx ports: – "8000:80" links: – phpfpm:phpfpm volumes: – ./nginx/vhost.conf:/etc/nginx/conf.d/default.conf – ./app:/var/www/html – ./log/nginx:/var/log/nginx db: restart: always image: mysql ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_DATABASE: database

docker集装箱不断增长

我有一个循环pyhton脚本 将video块从AWS S3下载到/文件名 按顺序对文件进行sorting并连接它们。 将整个处理后的videofile upload到AWS S3 删除文件夹/文件名 然后继续循环,直到AWS SQS队列为空。 脚本很好用! 我已经运行了好几个月。 硬盘空间有所不同,但从来没有得到大约5%,这取决于video的大小。 我决定把这个脚本放在docker容器中,运行docker-compose,这样我就可以一次运行一堆脚本。 问题是硬盘驱动器填满了! 我知道用5运行磁盘上的空间将被雇佣,但是当我完成处理文件的时候得到删除。 但与docker,似乎是一个caching或什么的。 我进入每个容器,他们运行良好。 删除旧文件和所有。 不知道docker集装箱和作为服务运行之间的区别是否会对高清产生影响。 任何方向都会很棒。 添加到此。 当我“docker”docker集装箱硬盘空间释放。 我运行一个docker ps -s,容器上的空间并不疯狂。 就好像当你在docker容器里面写一个“rm”文件时,它永远不会是真的。

docker-compose.yml无效:app.build包含一个无效的types,它应该是一个string

当我有我docker-compose.yml时运行$ docker-compose up docker-compose.yml ,如下所示,一切都按预期工作: app: build: . 但是,当我有docker-compose.yml (在docker-compose.yml -compose参考中似乎有效): app: build: context: . 我得到以下错误: $ docker-compose up ERROR: The Compose file './docker-compose.yml' is invalid because: app.build contains an invalid type, it should be a string 我也试过context: "." 没有喜乐。 请帮忙! 非常感谢。

在参数中设置symfonycaching目录

我正在为Symfony应用程序构builddocker环境。 每个应用程序都有一个容器,其中包含链接到应用程序服务器的Web根目录的附加数据容器。 作为基础架构安全强化的一部分,这些数据容器被设置为只读,以防止任何远程代码被利用。 每个应用程序也有一个侧面的汽车容器,允许日志写入。 Symfony当前将caching写入默认的cache_dir位置 ${web_root}/app/cache/${env} 这是在只读数据容器中 当试图启动应用程序时,我得到这个错误 无法写入caching目录 很明显,因为它在只写容器中会发生 我已经设置了我的log_path设置在读写边车logging容器中的只读容器之外的参数 /data/logs/symfony 这工作正常。 我已经阅读了Symfony的食谱如何超越目录结构,但它只build议如何在AppKernal.php中做到这AppKernal.php ,我不想做的path可能会改变取决于如果它在local/uat/prod环境。 我们从我们的构build服务器提供Symfony不同的参数取决于我们正在部署的环境,所以把这个configuration放在这里是有道理的。 有没有人知道是否有可能重写caching目录在configuration而不是编辑AppKernal.php

为什么Docker Compose重新启动可以渲染容器输出越来越多?

我正在编写一个基于Docker Compose的Web应用程序,它有许多后台系统 – 一个HTTP API,一个HTTP代理和一个队列。 所有东西都在PHP的Alpine容器中,PHP 5.6或7.0。 我最初在API容器内的Supervisor中设置了队列,工作正常。 然而,Supervisor / Python使得容器比他们应该更加胖(80M而不是25M),所以我把队列移到了自己的容器中。 它生活了大约5分钟,为了重新启动而退出,我在Supervisor中使用了自动重启系统,所以我已经在Docker Compose中交换到了重启系统。 我正在使用Compose YAML格式的版本2。 当队列启动时,它会向stdout呈现一个简单的消息: queue_instance | Starting queue watcher (path=/remote/queue, proxying to proximate-proxy:8081) 当我最初做docker-compose up时,这很好。 但是,对于每次重新启动,我都会收到其中三条消息,然后是五条消息,以此类推,没有限制。 如果我做docker ps然后它表明只有一个队列运行: halfer@machine:~/proximate-app$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a9c94558769d proximate-app "/tmp/container-st…" 2 hours ago Up 2 hours 0.0.0.0:8084->8084/tcp app_instance 7e48d6aec459 proximate-api "sh […]

MySQL容器无法在Docker Compose中运行初始化脚本

我有问题让我的MySQL容器从Docker Compose运行一些初始化脚本(创build一些数据库)。 根据Docker Hub的文档,我将.sql文件安装在/docker-entrypoint-initdb.d但无济于事。 我撰写的文件如下: version: '2' services: database: image: mysql ports: – "3307:3306" environment: MYSQL_ROOT_PASSWORD: root volumes: – ./scripts/db:/docker-entrypoint-initdb.d myservice: image: company/myservice expose: – "10001" depends_on: – database links: – database environment: SERVICE_PORT: 10001 DATABASE_URL: jdbc:mysql://database:3306/myservice?autoReconnect=true&useSSL=false&characterEncoding=UTF-8 而./scripts/db的内容只是一个文件init-databases.sql : CREATE DATABASE myservice; 一旦启动,MySQL正在运行,但数据库不会被创build。 服务容器也成功链接到MySQL容器。 猛击MySQL容器; init脚本已成功安装在正确的位置。 任何人都可以看到一些明显的问题吗 LOGS FROM撰写 database_1 | 2016-04-01T05:35:55.020279Z 0 [Note] mysqld […]

如何在docker-compose之后执行脚本?

我正在尝试使用docker(-compose)使我的开发过程更容易/可维护。 我不想使用任何卷(如果可能的话)。 为什么在运行'docker-compose up -d'后import.sh没有被执行? 我有以下文件: docker-compose.yml mysql —- import.sh —- db.sql —- Dockerfile 在docker-compose.yml中有: version: '2' services: database: image: mysql build: context: ./mysql/ dockerfile: Dockerfile container_name: mysqltest ports: – "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456 在/ mysql / Dockerfile中有: ADD import.sh /tmp/import.sh ADD db.sql /tmp/db.sql RUN /tmp/import.sh 在/mysql/db.sql中有: CREATE DATABASE test1; CREATE DATABASE test2; CREATE DATABASE […]