Articles of Docker

是否有可能设置环境variables导入到每个docker集装箱

在CI环境中,我想将凭证传递给我们内部的Gems服务器,进入在CI作业中启动的docker容器。 我希望能够configurationdocker守护进程始终从代理上的环境中获取variables,并将其推送到所有启动的容器中。 目前可以做到这一点吗?

Docker组合和nginx负载均衡器

目前我有2个Docker容器: 应用程序(python烧瓶) 负载平衡器(nginx) 我使用docker-composer分别启动两个容器Nginx正在侦听端口8080,并且应该将HTTP请求转发到正在侦听端口8081的应用程序。目前这不起作用,因为nginx不知道有关应用程序容器的任何信息。 86615a5b0f02 parzee/loadbalancer "/usr/local/bin/start" 3 minutes ago Up 3 minutes 127.0.0.1:8080->8080/tcp loadbalancer_loadbalancer_1 9adc8a04b356 parzee/application "/usr/local/bin/start" 6 minutes ago Up 5 minutes 127.0.0.1:8081->8081/tcp application_application_1 这是我的默认configuration upstream application { ip_hash; server application_application_1:8081 fail_timeout=0; server application_application_2:8081 fail_timeout=0; keepalive 64; } server { listen 8080; server_name loadbalancer; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { proxy_set_header X-Forward-For […]

将Dokku(或Docker)容器公开到服务器IP地址

我正在和一个刚刚失去对域名的控制权的客户合作,我希望能够继续在这个网站上工作。 由于域名不再parsing到数字海洋服务器,我想直接通过它的IP地址和可能的随机端口来访问站点。 我有一个使用postgres插件的随机生成的端口号0.0.0.0:XXXXX postgres容器设置,但想要做的应用程序容器相同。

更新的cURL在PHP中不起作用

我有一个基于官方PHP Docker镜像的 Docker应用程序。 我已经扩展它来更新cURL并使用nghttp2和openssl ,这是我的应用程序需要HTTP / 2支持。 但是,PHP本身并没有反映这个变化,我不知道为什么。 这是我的Dockerfile: FROM php:7.0.3-fpm # Add sources that allow installation of unstable packages (needed for latest OpenSSL/cURL versions). RUN echo 'deb http://ftp.uk.debian.org/debian testing main contrib \n\ deb-src http://ftp.uk.debian.org/debian testing main contrib \n\ deb http://ftp.debian.org/debian/ jessie-updates main contrib \n\ deb-src http://ftp.debian.org/debian/ jessie-updates main contrib \n\ deb http://security.debian.org/ jessie/updates main […]

gcloud docker推送失败“无法ping通registry端点https://gcr.io/v0/”

我试图设置Google容器引擎,我试图推动我的第一个Docker容器到GCE仓库,但是我得到以下错误: oash-3.2$ gcloud docker push gcr.io/prlr-dev-01/centos-7-systemd –verbosity inf INFO: Refreshing access_token INFO: Refreshing access_token INFO: Refreshing access_token INFO: Refreshing access_token INFO: Refreshing access_token INFO: Refreshing access_token INFO: Refreshing access_token The push refers to a repository [gcr.io/prlr-dev-01/centos-7-systemd] unable to ping registry endpoint https://gcr.io/v0/ v2 ping attempt failed with error: Get https://gcr.io/v2/: dial tcp: lookup gcr.io on […]

为什么在命令的swarm输出中不会“docker运行”?

我已经成功安装了一个由一个主节点和两个节点组成的Docker Swarm集群。 一切都按预期工作,只有一件事情偏离了文档。 根据文档 (查找“在Swarm上运行一个容器” ),当我在Swarm上运行某些东西时,我应该看到命令的输出,但这不是我所遇到的: $ docker run hello-world # <<< no output $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 663f36f72ee1 hello-world:latest "/hello" 4 seconds ago Exited (0) 3 seconds ago node-1/serene_pare … $ docker logs 663f36f72ee1 # <<< however everything looks good Hello from Docker. This message shows […]

Docker容器日志保留

我们正在运行Century Link的了望台容器。 这使得我们可以在手表上创build一个Dockerregistry并下载新的图像。 当了望塔find一个新的图像时,会运行docker rmi删除旧的容器。 随着那个旧日志去与它。 docker是否清理时,有没有办法使用日志服务来保留日志?

docker-composenetworking在覆盖期间不使用

我有一个docker-compose文件,我使用覆盖扩展。 我正在使用V2语法,并在我的撰写文件中定义了两个容器将共享的networking。 然后扩展组合文件,区分开发和生产之间的设置。 当一切都在一个文件中时,docker-compose将使用networking定义。 现在,随着覆盖,docker忽略networking,创build自己的,并警告我未使用的networking。 我的docker-compose.yml: version: '2' services: inexgw: ports: – "45308:45308" expose: – "45309" networks: – gcm depends_on: – spagw spagw: networks: – gcm environment: – LOGDIR=/logs – DBDIR=/db volumes: – ${LOGDIR}:/logs – ${DBDIR}:/db networks: gcm: 我的docker-compose.override.yml: version: '2' services: inexgw: restart: always build: context: ./gcm_inex/ dockerfile: docker/Dockerfile environment: – GRAYLOGSRV=10.10.10.3 – LOGDIR=/logs […]

Nginx的反向代理使根webapp进入自定义path

我试图在一台机器上设置多个具有相同映像的docker容器,并将所有应用程序托pipe在由path分隔的同一个域中。 目的是将每个客户分离到自己的容器中。 即mydomain.com/bbb …等 我正在使用nginx作为反向代理,并在线上跟随各种示例。 我的nginxconfiguration如下所示: server { listen …; … location / { proxy_pass http://127.0.0.1:8080; } location /aaa { proxy_pass http://127.0.0.1:8181; } location /bbb { proxy_pass http://127.0.0.1:8282; } … } 我注意到,应用程序正在期待被托pipe在根目录/目前在404结束了。有没有一种聪明的方法来重写这些到自己的path基于请求的来源而不修改应用程序本身? 我知道,使用子域名可能更容易,但是我想避免在客户来去时添加和删除子域名。

为什么我的Docker容器无法写入挂载的主机目录?

我使用以下命令运行Docker容器: sudo docker run –name=bamboo-server -p 8085:8085 -p 54663:54663 -v /data/bamboo-server:/home/bamboo hwuethrich/bamboo-server 我希望容器中的/home/bamboo映射到/data/bamboo-server 。 但是,我的容器无法写入映射的目录。 这从主机工作正常: [walt@walt bamboo]$ touch /data/test.txt 但不是从容器: [walt@walt bamboo]$ sudo docker exec bamboo-server touch /home/bamboo/test.txt touch: cannot touch '/home/bamboo/test.txt': Permission denied /data目录的权限都是chmodded到777: [walt@walt bamboo]$ ls -la /data/ total 0 drwxrwxrwx. 3 root root 43 May 6 02:29 . dr-xr-xr-x. 18 root […]