Tag:

如何用无花果指定写入权限

用docker -v选项,我们可以像下面那样指定写入权限 docker run -d –name web -v /etc/localtime:/etc/localtime:ro 其中ro表示只读访问。 我们如何用无花果做到这一点? 如果 pg: image: xxxxxxxxxxxxxx/postgres:9.1-1 web: image: xxxxxxxxxxxxxx/unicorn:0.0.2 volumes: – /etc/localtime:/etc/localtime:ro – .:/src links: – pg:server_pg command: /bin/bash -xe something.sh 在上面的例子中:ro在卷段中引起以下错误 Traceback (most recent call last): File "<string>", line 3, in <module> File "/code/build/fig/out00-PYZ.pyz/fig.cli.main", line 39, in main File "/code/build/fig/out00-PYZ.pyz/fig.cli.docopt_command", line 21, in sys_dispatch File […]

如何限制从主机到docker集装箱的CPU使用率

我有一个虚拟主机在一个物理服务器与许多docker容器里面。 这里是我的fig.yml的一个片段 pg: image: pg… redis: image: redis… mongodb: image: mongodb… app: image: myapp… 我希望设置pg容器只使用25%的主机CPU和应用程序只使用主机CPU的50%等。 我可以用fig或docker run并手动pipe理链接吗? 在我的情况下,当这个容器运行一个昂贵的任务,它会影响其他CPU的性能。 但是当在同一个物理服务器上我有其他的虚拟机在类似的configuration里面问题急剧增加。

如何在保留所有者和权限的同时从数据容器装载卷?

我正在使用Fig并尝试使用数据卷容器在Rails Web服务器和另一个容器中运行的Resque工作器之间共享上传的文件。 为此,数据卷容器定义了用于共享这些文件的/rails/public/system卷。 Rails和Resque进程作为rails用户在各自的容器中运行,这两个容器都是基于markb/litdistco映像的。 一起fig.yml看起来像这样: redis: image: redis:2.8.17 volumes_from: – file web: image: markb/litdistco command: /usr/bin/start-server /opt/nginx/sbin/nginx ports: – 80:8000 – 443:4430 environment: DATABASE_URL: links: – redis volumes_from: – file worker: image: markb/litdistco command: /usr/bin/start-server "bundle exec rake environment resque:work QUEUE=litdistco_offline RAILS_ENV=production" environment: DATABASE_URL: links: – redis volumes_from: – file file: image: markb/litdistco command: echo […]

Docker返回“json:can not unmarshal string into Go value of type string”

我是docker工人。 我试图发布一个图像: fig up -d –allow-insecure-ssl 但是我收到以下错误消息: json: cannot unmarshal string into Go value of type []string 而我无法弄清楚如何解决这个问题。 我的fig.yml : configrepo: image: docker-registry.backbasecloud.com/backbase/engage-configuration:latest environment: – SERVICE_NAME=configuration ports: – "8788:8080" configserver: image: docker-registry.backbasecloud.com/backbase/engage-configserver:latest environment: SERVICE_NAME: configserver ports: – "8888:8888" links: – configrepo:configrepo dns: 172.17.42.1 docker版本 Client version: 1.6.2 Client API version: 1.18 Go version (client): go1.4.2 […]

有没有办法使用“无花果运行”时从容器“发布”端口?

有时当我需要debugging我的图像的结果时,我运行“/ bin / bash”并在我的图像上查看一些内容。 fig run www /bin/bash 从这一点上,我可以例如,在端口8080自己启动一个Web服务器,但不幸的是我不能从我的“docker主机”访问该端口。 有没有办法使用“无花果运行”时从容器“发布”端口?

Dockerfile与Docker镜像

我正在创build一些用于在开发机器上testing的docker镜像。 我打算为我们的主应用程序以及我们的每个外部依赖项(postgres,elasticsearch等)构build一个。 对于主应用程序,我正在努力编写Dockerfile或编译要托pipe的图像的决定。 一方面,Dockerfile很容易随着时间的推移而共享和修改。 另一方面,我希望高级configuration(自定义应用程序属性文件)在vim中简单地提交一个新的图像之前要容易得多。 我明白,我可以得到相同的结果,但我正在寻找PROS,CONS,和任何方向陷阱。 作为一个方面的说明,我打算把这一切都用在一起。 我对这个工具的最初印象是非常积极的。 谢谢!

Docker撰写与一个终止容器

我有一个docker组成一个数据库容器,一个应用程序容器和一个容器的预安装数据库的必要数据的设置。 我想和docker-compose up一起启动所有的容器docker-compose up当预装载容器完成它的exit 0工作后终止。 但是终止这个容器将会带着这个消息来完成整个设置: composesetup_load_1 exited with code 0 Gracefully stopping… (press Ctrl+C again to force) Stopping composesetup_app_1… Stopping composesetup_db_1… 是否有任何方法让一个docker中有多个不同的生命周期的容器组合? 如果是的话,怎么样?

如何正确处理Docker容器依赖关系?

我刚刚开始了解Docker,并考虑通过Docker基础架构来replace基于VM的基础架构。 我想知道如何处理容器之间的依赖关系,以及如何决定何时/如何重新启动依赖容器,如果是这样,如何最大限度地减less停机时间。 为了更加精确,我发现了诸如无花果或装饰等工具来pipe理容器和依赖项,所以(如果幸运的话)我得到一个有向的非循环图,告诉我以何种顺序启动或取下容器。 例如,mongodb容器必须在webserver容器之前启动 所以,如果我更新MongoDB或更改一些设置,我想我应该closuresnetworking服务器,因为它不能很好地处理数据库不存在。 在这种情况下,如何最大限度地减lessclosures和重新启动容器造成的停机时间,包括重新部署Jetty Web应用程序等? 但是,如果我只是更新我的SMTP服务器(或多或less所有其他容器依赖),我不希望这触发重新启动我的整个容器基础设施。 所以,重新启动邮件服务器容器后,其他容器仍然能够到达以前连接的端口? 你如何处理这种情况? 我是否需要/是否有可能为每个容器ABC增加一个大使容器ABC_amb,这个ABC容器绝不会在ABC重新启动的时候断开连接。

使用docker和fig设置一个mongodb副本集的正确方法是什么?

使用docker和fig设置一个mongodb副本集的正确方法是什么? 我试图按照正式的mongodb教程创build一个带有一些副本集的fig.yml文件,但是总是被如何正确调用rs.initiate()和rs.add("<hostname><:port>")阻止。 我发现这个答案解释了为什么我不能从shell启动所有的东西,没有调用rs.initiate() ,所以我怎么能做到这一点? 哦,我使用mongo:latest (v2.6.5)作为基本映像,没有任何修改。

我可以使用无花果来初始化docker中的持久化数据库吗?

我试图自动安装和运行一组链接的docker集装箱使用无花果。 这个configuration是由一个运行RStudio的容器组成的,这个容器链接到一个运行MySQL的容器,这样我就可以从RStudio查询MySQL数据库了。 在第一次运行时,我想从基础MySQL映像创buildMySQL容器,并用用户和数据库填充它。 从命令行来看,像这样: #Get the latest database file wget -P /tmp http://ergast.com/downloads/f1db.sql.gz && gunzip -f /tmp/f1db.sql.gz #Create the database container with user, password and database docker run –name ergastdb -e MYSQL_USER=ergast -e MYSQL_ROOT_PASSWORD=mrd -e MYSQL_DATABASE=f1db -d mysql #Populate the database docker run -it –link=ergastdb:mysql -v /tmp:/tmp/import –rm mysql sh -c 'exec mysql -h$MYSQL_PORT_3306_TCP_ADDR -P$MYSQL_PORT_3306_TCP_PORT […]