在Docker – 服务器连接问题中部署一个最小瓶应用程序

我有一个应用程序,只有依赖项是瓶,它在docker外运行良好,并绑定到默认端口5000 。 这是完整的来源: from flask import Flask app = Flask(__name__) app.debug = True @app.route('/') def main(): return 'hi' if __name__ == '__main__': app.run() 问题是,当我在docker中部署这个服务器时,服务器正在运行,但是从容器外部无法访问。 以下是我的Dockerfile。 图像是与安装瓶的Ubuntu。 tar只包含index.py列出的index.py ; # Dockerfile FROM dreen/flask MAINTAINER dreen WORKDIR /srv # Get source RUN mkdir -p /srv COPY perfektimprezy.tar.gz /srv/perfektimprezy.tar.gz RUN tar x -f perfektimprezy.tar.gz RUN rm perfektimprezy.tar.gz # […]

如何重builddocker-compose.yml中的docker容器?

在docker-compose.yml中定义了服务的范围。 这些服务已经开始。 我只需要重build其中一个,并启动它,而不用其他服务。 我运行以下命令: docker-compose up -d # run all services docker-compose stop nginx # stop only one. but it still running !!! docker-compose build –no-cache nginx docker-compose up -d –no-deps # link nginx to other services 最后我得到了旧的nginx容器。 顺便docker-compose不会杀死所有正在运行的容器!

在Docker容器中永久更新PATH环境variables

我尝试在文件~/.profile和/etc/profile添加PATH ,如下所示。 PATH = $PATH:/required/path 但是,它不起作用。 然后我尝试添加行显示,也没有工作。 export PATH 即使在重新启动容器和主机后,它也不起作用。

Docker – 来自守护进程的错误响应:客户端比服务器更新

使用Docker Machine创build新机器后,出现以下错误: $ docker ps Error response from daemon: client is newer than server(client API version 1.21, server API version: 1.19) 我怎样才能解决这个问题?

如何将PyCharm连接到位于Docker容器内的python解释器?

我从Docker开始,但是我不知道如何configurationPyCharm来使用位于容器中的python解释器。 使用Vagrant很容易 ,但是Docker显然还没有正式的方法 。 我应该准备特殊的Docker镜像与暴露的SSH端口? 如何更轻松地做到这一点?

在带有PhpStorm的Docker容器中运行PHPUnit

我想configuration我的PhpStorm IDE以在我的Docker容器中运行PHPUnittesting。 似乎我只能使用本地PHP可执行文件,或通过SSH作为testing的解释器。 我可以在我的PHP容器上安装一个SSH服务,但这看起来有点像一个黑客解决scheme,在线文章阻止在容器上安装SSH服务。 为了尝试让本地解释器工作,我尝试创build一个bash脚本来代理对容器中的PHP调用,如下所示: #!/usr/bin/env bash # Run PHP through Docker docker exec -t mycontainer_php_1 php "$@" 当我自己运行它时,这是完美的,但是当我将PhpStorm指向本地PHP解释器时,它不会将其识别为有效的PHP可执行文件。 那么获得这个工作的好方法是什么?

如何从主机编辑Docker容器文件?

现在,我find了一种方法来公开主机文件的容器(-v选项)我想做一个相反的: 如何使用主机编辑器从正在运行的容器中编辑文件? sshfs可能可以完成这项工作,但是由于正在运行的容器已经是某种主机目录了,我想知道是否有可移植的(在aufs,btrfs和device mapper之间)的方式来做到这一点?

我可以在Docker上使用Windows .Net应用程序吗?

关于Docker的所有讨论,以及它如何适应虚拟化世界,我都有点困惑。 所以这里有一个直接的问题:我能打包一个.Net应用程序(通常运行在Windows 7等)在Docker容器中运行,然后在任何支持Docker的主机上执行它? TIA。

docker正在使用中,但没有docker集装箱

我一直在使用Docker 1.9.1删除Docker卷时遇到问题。 我已经删除了所有停止的容器,以便docker ps -a返回空。 当我使用docker volume ls ,我得到了一大堆docker容器。 docker volume ls DRIVER VOLUME NAME local a94211ea91d66142886d72ec476ece477bb5d2e7e52a5d73b2f2f98f6efa6e66 local 4f673316d690ca2d41abbdc9bf980c7a3f8d67242d76562bbd44079f5f438317 local eb6ab93effc4b90a2162e6fab6eeeb65bd0e4bd8a9290e1bad503d2a47aa8a78 local 91acb0f7644aec16d23a70f63f70027899017a884dab1f33ac8c4cf0dabe5f2c local 4932e2fbad8f7e6246af96208d45a266eae11329f1adf176955f80ca2e874f69 local 68fd38fc78a8f02364a94934e9dd3b5d10e51de5b2546e7497eb21d6a1e7b750 local 7043a9642614dd6e9ca013cdf662451d2b3df6b1dddff97211a65ccf9f4c6d47 #etc x 50 由于这些卷都不包含任何重要内容,因此我尝试使用docker volume rm $(docker volume ls -q)清除所有卷。 在这个过程中,大部分被删除,但我回来了: Error response from daemon: Conflict: volume is in use Error response from daemon: Conflict: volume […]

从本地连接到Docker MySQL容器?

我有一个docker运行的mysql图像,以下是docker-compose.yml文件的样子: db: image: mysql environment: MYSQL_ROOT_PASSWORD: "" MYSQL_ALLOW_EMPTY_PASSWORD: yes ports: – "3306:3306" 这工作正常。 我的问题是:我怎么能连接到MySQL的实例运行在该容器从命令行mysql客户端在我的主机(我的macbook)? 澄清: 我有一个安装了Docker的MacBook 我有一个docker容器与MySQL 我想连接到上述容器从我的MacBookterminal上运行的MySQL实例 我不想使用docker命令来实现这一点。 相反,我想直接从terminal使用mysql客户端(无需通过docker容器进行隧道传输)。 我没有在本地运行MySQL,所以端口3306应该是开放的并且可以使用。 我用来启动容器的命令是: docker-compose run