Tag:

Docker将容器推送到私有registry

我有一个应用程序使用几个docker集装箱: NGINX容器 NodeJS启动应用程序容器 Rediscaching容器 由于我为上述两个容器使用现有的图像,我也有两个caching容器: 高山 Redis的 我正在尝试将我的容器(1,2和3)推送到AWS Elastic Container Registry(ECR)。 我已经能够做到这一点,但已经注意到我的caching容器(4&5)也得到了推动。 我使用docker-compose构build容器,然后像这样标记: docker tag -f nodejs_app:latest <repository URL>:latest 在用docker login进入ECR后,我使用这个命令: docker push <repository URL>:latest 然后,Docker将所有5个容器推入registry中。 我怎么只推送我关心的容器,而不是caching的容器呢? 提前致谢 :-)

502通过Jwilder的Nginx代理访问虚拟主机时出现错误的网关

我有一个运行在同一主机上的Nginx代理(Jwilder,默认configuration)和Gitlab实例。 git.myhost.com指向主机IP。 当使用下面docker-compose.yml启动Gitlab时,我在访问http://git.myhost.com时遇到了502 Bad Gateway 。 在nginx-proxy容器中生成的/etc/nginx/conf.d/default.conf也很好看: upstream git.myhost.com { # 2ab9168d-c69e-4725-8c20-31a194ad8d07 server 172.17.0.13 vhost; } server { server_name git.myhost.com; listen 80 ; access_log /var/log/nginx/access.log vhost; location / { proxy_pass http://git.myhost.com; } } 我究竟做错了什么? 这里是Gitlab的docker-compose.yml : gitlab-server: hostname: git.myhost.com expose: – "8100" ports: – 8101:22/tcp # – 8100:8100/tcp labels: io.rancher.sidekicks: gitlab-data environment: GITLAB_OMNIBUS_CONFIG: | external_url […]

Docker容器卷不写入主机

嗨,我尝试在docker集装箱内生成一些资产,并把它放到主机。 所有在docker-machine环境中运行的都是使用virtualbox驱动程序初始化的。 例如我运行: docker run -it -v $PWD/testfolder:/var/www:rw ubuntu /bin/bash 接着 root@b9e73827bc3c:/var/www touch dummy.txt 从这一点上,我实际上必须在我的主机的$PWD/testfolder文件夹中看到dummy.txt ,但它没有文件夹testfolder和dummy.txt (逻辑)。 在MacOSX上,相同的设置工作正确,并在主机端创build文件,但是当我尝试它的Ubuntu:14.04它停止工作。 这里都是容器inspect MacOSX主机: https : //gist.github.com/zavalit/65e8a260866f834223616c1b59e4ce7d Ubuntu:14.04主机: https ://gist.github.com/zavalit/40bd3ce8629ad81fcd6793ca63f99491 就我所知,它们都是完全相同的。 它试图使用docker-machine版本0.7.0-rc2和0.6.0,docker版本是1.10.3 有没有人经历过这样的事情? 我非常感谢任何可能的提示。 谢谢。

为多个Docker容器使用域而不是端口

我正在为多个网站创buildDocker环境。 我已经决定要为每个域分开具有多个容器docker-compose.yml文件。 目前我有这样的事情: web: image: nginx:latest volumes: – /c/Users/marcin/dock-test/html/test-laravel-project-2/:/usr/share/nginx/html/test-laravel-project-2/ – /c/Users/marcin/dock-test/nginx-conf/conf.d2/:/etc/nginx/conf.d – /c/Users/marcin/dock-test/nginx-log/:/var/log/nginx ports: – "8088:80" working_dir: /usr/share/nginx/html/test-laravel-project-2/ links: – php – db container_name: lara.web environment: – VIRTUAL_HOST='l2.app' – VIRTUAL_NETWORK='nginx-proxy' expose: – 8088 php: build: ../dockerfiles/ dockerfile: Dockerfile-php7-fpm volumes: – /c/Users/marcin/dock-test/html/test-laravel-project-2/:/usr/share/nginx/html/test-laravel-project-2/ – /c/Users/marcin/dock-test/php-config/:/usr/local/etc/php/ working_dir: /usr/share/nginx/html/ links: – db container_name: lara.php db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: […]

docker-compose / wordpress权限错误卷挂载

我的docker-compose.yml wordpress: image: wordpress links: – wordpress_db:mysql ports: – 8080:80 volumes: – /tmp/html/:/var/www/html wordpress_db: image: mysql:5.6.29 environment: MYSQL_ROOT_PASSWORD: password phpmyadmin: image: corbinu/docker-phpmyadmin links: – wordpress_db:mysql ports: – 8181:80 environment: MYSQL_USERNAME: root MYSQL_ROOT_PASSWORD: password 当我做 sudo / usr / local / bin / docker-组合起来 我得到了很多这些 wordpress_1 | tar: ./wp-content/plugins/akismet/views/stats.php: Cannot open: No such file or directory […]

使用docker时避免双包安装

我使用泊坞窗作为我的开发环境与我的rails应用程序与以下docker-compose.yml : app: build: . ports: – "3000:3000" links: – db – mail volumes: – .:/usr/src/app – gemrc:/etc/gemrc db: image: mdillon/postgis ports: – "5432:5432" environment: – POSTGRES_USER=user – POSTGRES_PASSWORD=password – POSTGRES_DB=database volumes: – ./docker/pgdata:/var/lib/postgresql/data mail: image: djfarrelly/maildev ports: – "1080:80" 和我的Dockerfile : FROM rails:onbuild 当我需要添加一个新的gem到我的Gemfile时,我必须先生成我的Gemfile.lock : docker run –rm -v gemrc:/etc/gemrc -v /home/user/project:/usr/src/app -w /usr/src/app […]

Docker占用磁盘空间/ var / lib / docker / devicemapper / devicemapper

对不起,我得到了答案。 非常感谢你的回答

使用docker-composelogging:我可以同时使用两个驱动程序吗?

我正在使用docker-compose 1.7.1来启动一些容器和gelf来将所有日志发送到ELK安装。 它工作正常,但是,我们仍然在学习如何使用整个设置,并且在Docker标准输出中查看日志(因此可以通过执行docker logs可以访问)非常方便。 所以,我的问题是:有没有办法同时使用两个驱动程序? 我试过了,但第一个驱动程序被忽略了: logging: driver: json driver: gelf options: gelf-address: "udp://${ELK_HOST_IP}:12201" 您是否知道其他方式查看可能不涉及Docker组合日志logging驱动程序的标准输出中的日志? 谢谢!

如何避免在使用docker commit时键入容器ID?

使用以下语法从容器创build新的泊坞窗图像: $ docker commit -m "commit message" -a "author" \ #containerid user/imagename:tag 我知道你可以得到最后一个容器ID: $ docker ps -l 但是,这给了我详细的输出。 我如何正则expression容器ID或input一个命令来提取只是最后一个容器的ID,所以我不必手动input到我的提交信息?

使用docker撰写安装nginxdynamic模块

通常在nginx中编译第三部分模块,你应该使用这个命令: ./configure –add–module=path/to/your/new/module/directory 然后使用: make 最后: make install 但是使用docker我不能进入nginxpath并运行这些命令。 我怎么能添加“configuration”命令到我的docker-compose.yml文件? 编辑:我试图创build一个简单的Dockerfile像这样: FROM nginx RUN ./configure –add-module=./module/ make && \ make install 并将其包含到我的docker-compose.yml中。 它给了我这个错误: /bin/sh: 1: ./configure: not found The command '/bin/sh -c ./configure –add-module=./module/' returned a non-zero code: 127 我也尝试使用“configuration”而不是“./configure”,但结果相同。 我不知道如何设置configuration命令。