Tag: docker

与在docker中运行的mysql连接缓慢

我为mysql安装了一个docker镜像。 docker run –name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD="Foo" -e DB_REMOTE_ROOT_NAME=root -e DB_REMOTE_ROOT_PASS="foo" -e DB_USER=foo -e DB_PASS="foo" -e DB_NAME=foo -v /:/host -v /home/user1/data/mysql:/var/lib/mysql mysql:latest 一切都很好,我可以通过两种方式连接到MySQL docker exec -it mysql bash mysql -ufoo -pfoo foo 并从我的Mac控制台(无docker执行) mysql -ufoo -pfoo -h0.0.0.0 foo 我看到的问题是,第二种方法需要很长时间来连接。 它连接成功,但有一个15至20秒的延迟。 而在docker执行它瞬间连接。 为什么有一个延迟,当我从我的Macterminal直接使用MySQL而不是第一个SSH连接到盒子? 我试图用localhostreplace0.0.0.0。 但后来我得到一个错误 mysql: [Warning] Using a password on the command […]

docker-compose.yml与多个env_files

我试图得到一个.env -compose文件与多个.env文件,我没有任何运气。 我试图设置三个.env文件: 在所有容器实例中相同的全局设置 环境特定的设置(东西只是为了testing或开发) 本地设置 – 开发人员在与端口号发生冲突的情况下可能需要更改的可重写事项 我docker-compose.yml文件如下所示: version: '2' services: db: env_file: – ./.env – ./.env.${ENV} – ./.env.local image: postgres ports: – ${POSTGRES_PORT}:5432 .env看起来像这样: POSTGRES_USER=myapp 和.env.development看起来像这样: POSTGRES_PASSWORD=supersecretpassword POSTGRES_HOST=localhost POSTGRES_PORT=25432 POSTGRES_DB=myapp_development .env.local在这种情况下不存在。 运行ENV=development docker-compose up ,我收到以下输出: $ ENV=development docker-compose up WARNING: The POSTGRES_PASSWORD variable is not set. Defaulting to a blank string. WARNING: The […]

为什么Docker图层ID现在隐藏在新的存储模型中?

Docker 1.10推出了一个新的内容可寻址存储模型 。 所以现在,层ID被创build为来自其内容的散列。 这样,具有相同内容的图层应该被重用。 这听起来不错,但是为什么现在这个ID是隐藏的? 我已经做了一些简单的testing来发现,如果层真的被重用。 例如,我试图从相同的来源做一些自动构build,但使用不同的标签。 最后我还是会得到不同的图片ID。 如果我查看docker history我只能得到<missing>的图像ID: IMAGE CREATED CREATED BY SIZE COMMENT 7b007b10103a 15 minutes ago /bin/sh -c #(nop) COPY file:4c2cb4c2780edc6e2 37.77 kB <missing> 15 minutes ago /bin/sh -c #(nop) COPY file:ac11867f64e4fdd4e 856 B <missing> 15 minutes ago /bin/sh -c #(nop) ENV PATH=/usr/local/sbin:/u 0 B <missing> 15 minutes ago /bin/sh […]

Docker日志没有新行

我想有一个容器像进度条一样输出点。 喜欢这个: ……. done! 点产生echo -n '.' 并完成echo " done!" 问题是, docker logs似乎只输出整个行。 所以所有的点都会随着done部分一起出现。 我试过stdbuf -o0 echo -n '.' 和docker run myimage stdbuf -o0 myscript.sh ,但没有运气。 有没有办法做到这一点?

有没有人有一个Dockerfile和命令行从Linux的外部目录挂载到泊坞窗图像工作简单的例子?

我正在寻找的是Dockerfile&docker build +在linux上运行命令,通过容器内的挂载点查看/ var / tmp。 这里的问题都是复杂的情况,或者涉及OS / X&Windows,或者试图做更多的事情而不是简单的安装一个卷。 我的情况我只是试图将/ var / tmp挂载到busybox映像的/ foobar上,运行一个包含映像的容器,并使用“ls / foobar”来查看内容。 运行“Docker版本1.6.1,build立97cd073”在Linux 4.0.1 w / aufs使用本地repostory。 http://docs.docker.com/userguide/dockervolumes/ 注意到: Mount a Host Directory as a Data Volume In addition to creating a volume using the -v flag you can also mount a directory from your Docker daemon's host into a container. […]

在docker集装箱内运行的芹菜pdb与改变的监听端口

寻找关于如何可以在我的docker集装箱内运行芹菜PDB的build议,同时端口转发,所以我可以从外部世界访问。 我正在遵循http://celery.readthedocs.org/en/latest/tutorials/debugging.html上的指南 我面对的问题是,即使我告诉容器。 -e CELERY_RDB_HOST ='0.0.0.0'-e CELERY_RDB_PORT ='6900'-p 6900:6900。 并且到达应用程序的断点,实际上打开的端口不是我所要求的,所以我的端口不再有效。 港口6902被打开,而不pipe我问端口是什么,它改变了,而不是我所要求的。 我知道它从100个端口列表中select它认为“可用”,但不知道如何解决这个问题。 任何build议将是受欢迎的。 谢谢!

是否有可能从另一个容器启动一个停止的容器

有两个容器A和B.一旦容器A启动,一个进程将被执行,然后容器将停止。 容器B只是一个Web应用程序(如expressjs)。 是否可以从容器B中启动A?

我如何检查有多less个容器正在运行某个泊坞窗图像?

我想检查有多less个容器正在运行一个映像,我可以使用docker ps –filter ancestor ="imagename"计算容器的数量。但是我的机器不支持这个命令,还有另外一种方法可以做到这一点?

Docker撰写与多阶段构build

随着Docker的这个新版本的推出,至less我从来没有听说过它。 我现在的问题是,我应该使用它像一个标准的撰写文件? 我使用docker-compose.yaml来启动容器,其中涉及许多图像,一个用于Web服务器,一个用于数据库。 有了这个新的多阶段构build,我可以使用一个单一的Dockerfile与两个FROM命令,这是什么? 这个多阶段的构build最终会杀死撰写(因为图像较小)?

当在OS X上使用log-driver =“syslog”时,docker错误

在OS X上使用–log-driver="syslog"时,docker错误 我试图学习如何在OS X(10.10.3)上使用Docker容器,我理解与标准Linux实现(需要boot2docker VM)的区别,我想知道是否对syslog日志消息有任何影响 当我用–log-driver="syslog"选项启动一个容器时,容器被创build,但是我在启动时遇到错误 ~$ docker run –log-driver="syslog" –name daemon_dwayne -d ubuntu /bin/sh -c "while true; do echo hello_world; sleep 2; done;" 1f623793049916d5c…. FATA[0000] Error response from daemon: Cannot start container 1f623793049916d5….: Unix syslog delivery error 这在Linux机器上运行良好…感谢任何提示