Tag: 容器

如何从Dockerized Python Web应用程序提供静态文件?

我有一个位于Nginx后面的Python Web应用程序,通过Gunicorn提供。 我已经对它进行了configuration,以便Nginx可以直接从磁盘中为静态文件服务,并且只与Gunicorn通信以获取静态资源,例如图像。 我的问题: 将这个Web应用程序与静态资产一起docker化是一个好主意还是一个很大的“否”? 如果我想在需要访问相同资源的2台服务器中部署我的容器,那么如何使静态资产像集装箱化应用程序一样可移植? 如果可能,我想要什么: 我想把我的应用程序放在一个容器中,我希望尽可能地将其移植到便携式计算机上,而不必将更多的资金投入到其他资源(如单独的服务器)上以保持图像(如数据库)

如何从Docker容器生成Postgresql转储?

我想有一种方法进入Postgresql容器,并从中获取数据转储。

Docker数据库文件:容器内部还是外部?

我们一直在考虑在服务器上使用Docker来实现Oracle数据库系统,并正在考虑两种不同的pipe理数据的策略: 将数据库文件(.dbfs)存储在服务器path的文件夹中,然后使用-v选项使该文件夹在容器中可用。 这个想法是有多个容器访问多个文件夹,所以我们可以pipe理不同版本的数据。 保持容器内的数据库文件,就好像它是一个常规的安装。 这个背后的原因是我们喜欢能够随时更改版本的想法,当我们需要恢复到旧版本的程序来修复一个bug时(例如,如果一个旧版本在生产中,目前正在进行)。 从这个意义上讲,我们所拥有的容器也应该有一个特定版本的应用程序(这是一个web应用程序)。 所以我的问题是:在我们的情况下哪种方法是最好的? 我们的集装箱还有另一个组织,我们错过了,会更好? 在这个问题上寻找更多的意见。 我们已经被告知,第一种方法比在容器中保存所有东西要好,但我们的testing没有显示出任何改进。 谢谢!

是否有可能在Windows容器中安装Visual Studio

是否有可能在Windows服务器的Windows容器中安装Visual Studio的任何版本? 动机是使用Windows Containers在持续集成系统中构build软件,从而使构build环境标准化。

docker-compose:redis连接在容器之间被拒绝

我试图设置一个docker-compose文件,目的是用Supervisorreplace一个运行多个进程(RQ worker,RQ仪表板和Flask应用程序)的Docker容器解决scheme。 主机系统是Debian 8 Linux,我docker-compose.yml看起来像这样(我删除了所有其他条目以减less错误来源): version: '2' services: redis: image: redis:latest rq-worker1: build: . command: /usr/local/bin/rqworker boo-uploads depends_on: – redis “rq-worker1”是一个Python RQ worker ,试图通过本地主机和端口6379连接到redis,但是无法build立连接: redis_1 | 1:M 23 Dec 13:06:26.285 * The server is now ready to accept connections on port 6379 rq-worker1_1 | [2016-12-23 13:06] DEBUG: worker: Registering birth of worker d5cb16062fc0.1 rq-worker1_1 | […]

Kubernetes和Amazon ECS有什么不同?

Amazon ECS和Kubernetes实施体系结构有什么区别? 我需要决定select一种云中的容器pipe理技术。 select这些技术时决定的因素是什么? 我正在使用Docker来创build和执行容器。

如何使容器在Docker Compose中等待其他容器

我正在学习本教程,尝试使用Docker Compose来启动基础架构,而不是调用docker客户端的shell脚本。 一切工作正常,除了gitlab容器之前启动gitlab-postgreql和gitlab-redis,从而失败,因为它预计这些服务已经运行。 我试图使用depends_on属性,但它没有解决问题。 据我所知,如果其他容器的启动速度更快,这也无济于事。 经过一番研究,我发现,Docker Compose不提供开箱即用的解决scheme来控制容器的创build顺序。 怎么会这样? 我不敢相信这样的一个基本特征没有实现。 似乎Docker正在绊倒它自己的聪明之处,忘记了基础知识。 现在,我如何控制容器创build顺序,而不需要一些疯狂的支持脚本(这将使整个configuration比首先使用脚本/ docker客户端更复杂) 这是docker-compose.yml,因为它是 version: '2' services: gitlab-postgresql: image: sameersbn/postgresql:9.4-3 volumes: – /srv/docker/gitlab/postgresql:/var/lib/postgresql environment: – DB_NAME=gitlabhq_production – DB_USER=gitlab – DB_PASS=password gitlab-redis: image: sameersbn/redis:latest volumes: – /srv/docker/gitlab/redis:/var/lib/redis depends_on: – "gitlab-postgresql" gitlab: image: sameersbn/gitlab:7.14.3 volumes: – /srv/docker/gitlab/gitlab:/home/git/data ports: – "2222:22" – "8080:80" environment: – GITLAB_PORT=8080 – GITLAB_SSH_PORT=2222 depends_on: […]

如何从浏览器访问docker容器中运行的tomcat?

我在正式回购的Docker容器中运行tomcat。 docker pull tomcat 并根据主页上指出的我已经运行的实例和Tomcat服务器启动 docker run -it –rm -p 8888:8080 tomcat:8.0 并且Tomcat服务器在端口8888上可用。当我执行以下命令时,我能够在boot2docker中获得响应 curl localhost:8888 但是我想从安装在我的PC上的网页浏览器访问这个页面(这是在我的Windows中安装的虚拟盒子之外)。 我可以吗? 如果这样怎么样?

将LAN IP地址分配给与主机IP地址不同的Docker容器

我不熟悉Unixnetworking,添加虚拟接口等,试图现在学习。 我们正试图dockerize我们的应用程序。 我的要求是:将IP分配给可从外部应用程序/浏览器访问的泊坞窗容器。 容器ip应该可以从同一个networking中的不同计算机基本上ping。我不想使用端口转发。 我想访问一个docker容器,就像我们使用一个IP地址访问一个虚拟机一样[没有端口映射,-p标志。 如果我在容器内运行Apache或Tomcat等任何服务器,应该可以使用容器的IP和端口进行访问。 例如: http:// container_ip:8443] 在docker中可能吗? 在我的Unix机器上运行ifconfig(RHEL 7.1)显示docker0,ens,lo和veth接口。 没有eth0。 有点困惑于此。

docker图像gcloud应该从哪里build立

我读过这里 ,我可以使用gcloud sdk从容器图像创build一个实例。 以下是他们如何为nginx做的事情。 gcloud alpha compute instances create-from-container nginx-vm \ –docker-image=gcr.io/google-containers/nginx:latest \ –port-mappings=80:80:TCP 我希望能够用我制作的节点图像做到这一点。 我可以使用docker run -p 49160:8080 -d myusername/node-web-app在本地运行它,但我不明白图像在哪里。 是否可以将映像映射到我在云计算上运行的虚拟机,然后使用类似上面的代码片段? 我怎样才能find这个形象,为了做到这一点? 这个问题表明它们位于/Users/MyUserName/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2 ,这里的列表看起来不太有希望: – . – .. – Docker.qcow2 – console-ring – console-ring.0 – console-ring.1 – console-ring.2 – console-ring.3 – console-ring.4 – console-ring.5 – hypervisor.pid – lock – log – mac.0 – nic1.uuid […]