Tag:

Docker Toolbox教程Client.Timeout在等待标题时被超过

我正在按照https://docs.docker.com/get-started/part2/#publish-the-image上的指南 在整个指南中,我遇到了这个错误,有时会出现问题,有时当我重新运行他们将要工作的命令时。 docker push %username%/%repository%:%tag% 我将得到Using default tag: latest Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 我正在使用Docker Toolbox的Windows Home。 请让我知道是否需要任何额外的信息。

在Docker容器中运行Google Chrome Headless

我有2个容器: version: '2' services: php: build: context: php7-fpm args: TIMEZONE: ${TIMEZONE} volumes: – ${SYMFONY_APP_PATH}:/var/www/symfony – ./logs/symfony:/var/www/symfony/app/logs nginx: build: nginx ports: – 90:80 volumes_from: – php volumes: – ./logs/nginx/:/var/log/nginx – ${SYMFONY_APP_PATH}:/var/www/symfony 我的PHP容器的Dockerfile: FROM php:5.6-fpm ARG TIMEZONE MAINTAINER Maxence POUTORD <maxence.poutord@gmail.com> RUN apt-get update && apt-get install -y \ openssl \ wget \ git \ nano \ […]

Laravel在Mac OS X上的Docker上

描述 我跟着这个posthttps://medium.com/@andrewmclagan/you-thought-laravel-homestead-was-easy-say-hello-to-docker-2c0639a0501 做了一切,直到最后。 尝试 运行docker-up时 我一直在得到 🌈 laravel docker-compose up Pulling cache (redis:latest)… latest: Pulling from library/redis d13d02fa248d: Pull complete a1846f364e39: Pull complete dba901efed8c: Pull complete b54b43b9d049: Pull complete b5b9e2d5e9c6: Pull complete 7058d282fa00: Pull complete Digest: sha256:07e7b6cb753f8d06a894e22af30f94e04844461ab6cb002c688841873e5e5116 Status: Downloaded newer image for redis:latest Pulling database (mysql:latest)… latest: Pulling from library/mysql 85b1f47fba49: Pull complete 27dc53f13a11: Pull […]

Docker Compose – 启动后自动启动shell脚本

我有一个docker-compsose.yml文件,用kml文件的共享文件夹启动postgis服务。 我也是一个脚本,可以导出我的postgis数据库中的所有这些kml。 不过我想在启动后自动这样做。 docker-compose如何读取该文件并在启动后运行shell命令? 谢谢你的帮助,我是使用Docker的新手。 version: '2' services: postgis: image: mdillon/postgis volumes: – ~/test/dataPostgis:/var/lib/postgresql/data/pgdata – ./postgresql:/docker-entrypoint-initdb.d – ./KML_Data:/var/lib/postgresql/data/KML_Data environment: PGDATA: /var/lib/postgresql/data/pgdata POSTGRES_PASSWORD: password POSTGRES_DB: db ports: – 5432:5432 pgadmin: image: chorss/docker-pgadmin4 ports: – 5050:5050 volumes: – ~/test/dataPgadminBackUp:/var/lib/postgresql/data/pgdata – ./scripts/pgadmin:/tmp/scripts links: – postgis depends_on: – postgis

将Django连接到现有的Docker Postgres容器

我有我需要将我的Django项目连接到现有的Docker Postgres容器的情况。 简而言之,当我执行python manage.py dbshell ,django应该连接到现有的Docker Postgres容器。 目前我的Django连接到sqlite3数据库。 下面是我的settings.py片段连接到数据库。 DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.postgresql_psycopg2', # 'NAME': 'etag_auth', # 'USER': 'etag_master', # 'PASSWORD': 'thisismypass', # 'HOST': 'cybercom_postgres', # 'PORT': '5432' 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } # 'etag': { # 'ENGINE': 'django.db.backends.postgresql_psycopg2', # 'NAME': 'etag', # 'USER': 'etag_master', # 'PASSWORD': 'thisismypass', # 'HOST': […]

Docker,Dockerfile,并在开始我的下一个服务之前使用等待

我有2个Dockerfiles,'app'依赖于'sso'。 a)keycloak-Dockerfile: FROM jboss/keycloak-mysql:3.3.0.Final 这个服务在我的docker-compose.yml文件中被称为'sso' b)我的野蛮服务Dockerfile: FROM openjdk:8u111-jdk-alpine在那里我部署我的java服务 这个服务在我的docker-compose.yml文件中被称为“app” 因此,这个'sso'服务需要一段时间才能部署。 我希望我的'应用程序'在'sso'服务启动后部署。 关于我的configuration有一点要记住,'sso'启动端口8080相当快,但需要时间来获得所有的keycloak-realms。 这是我的'app'-Dockerfile中的第一个方法 FROM openjdk:8u111-jdk-alpine RUN apk update && apk add –no-cache tini openssl bash COPY target/accounts-api-swarm.jar /usr/src/myapp/ WORKDIR /usr/src/myapp RUN wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -O /wait-for-it.sh && chmod +x /wait-for-it.sh ENTRYPOINT ["/tini", "–", "/wait-for-it.sh", "sso:8080", "-t", "360", "–"] CMD java -jar accounts-api-swarm.jar -Sinitdata 这种方法是行不通的,因为accounts-api-swarm.jar是在所有keycloak领域都已经部署之前部署的(刚刚在sso:8080启动之后) 我的下一个尝试是(how_I_believe_wait-for-it.sh_works)是看“主”领域是否可用。 FROM […]

无法访问任何服务的容器

我创build了一个图像: stavalfi/projecty:latest这是一个非常基本的Java春季应用程序。 当我运行一个没有swarm的容器时,一切工作正常: docker run -d -p 8081:8080 –name container1 stavalfi/projecty:latest 从铬工作: http://localhost:8081/ http://172.17.0.2:8080/ <<– the address of the leader (no other nodes in the swarm) 当我使用以下方法创build服务时: docker service create -p 8080:8080 –name service1 stavalfi/projecty:latest docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ab8cb85e9750 stavalfi/projecty:latest "/bin/sh -c '/usr/…" 5 minutes ago Up 5 […]

用Cetnos7 apache和php构build一个Docker容器。

我将在这之前说,我对docker世界非常陌生,尽pipe阅读文档,但对于一些事情我还是有点困惑。 我想用centos7 apache和php构build一个容器。 我不想使用已经存在的图像,想要构build自定义容器。 我有以下文件夹结构 我的rw / docker / webserver / Dockerfile: FROM centos:7 ENV container docker RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \ systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f /lib/systemd/system/multi-user.target.wants/*;\ rm -f /etc/systemd/system/*.wants/*;\ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ […]

Docker工具箱 – 本地主机不工作

所以我使用的是Docker Toolbox,因为我的机器上没有Hyper-V,因为它不是Windows 10专业版。 一切似乎工作正常,但是当我尝试去我的浏览器0.0.0.0:80它总是返回我:此网站无法达成 但是,当我运行命令: docker container ps我得到以下内容:0.0.0.0: 0.0.0.0:80->80/tcp ,这意味着这个地址应该工作。 我search了stackoverflow和github问题。 现在我卡住了。 我错过了什么吗? 谢谢,马克 编辑: 使用docker-machine ip default返回我192.168.99.100 。 我运行在端口80.我仍然得到相同的结果,除了地址成为容器ID: https://fd677edg12 我在cmd上运行该命令来查找我的ipv4: cmd /k ipconfig /all 。 把结果放在端口上,并返回相同的结果: https://fd677edg12

如何在PHP代码中使用Docker的秘密?

在PHP脚本中使用Docker机密的最佳实践是什么? 使用案例:我有一个Docker堆栈,它由(1)基于图像的web服务组成,它将php与apache服务器连接起来,(2)基于最新的mysql映像的db服务。 在我的web服务的/ var / www / html中,我有一个config.php,它定义了许多表示数据库连接参数(用户名,密码等)的variables。 这个config.php文件包含在整个代码库build立数据库连接的地方。 我有docker的秘密定义对应于我想在config.php中定义的每个参数 – 在config.php的定义中使用这些秘密的最佳方法是什么? 默认情况下,每个docker机密都被挂载到文件/run/secrets/<secret name> 。 我天真的解决scheme只是简单地使用fopen()和fgets(),如下所示: function getSecret($secret){ $secret_file = fopen("/run/secrets/{$secret}"); $secret = fgets($secret_file); fclose($secret_file); return $secret; } config.php文件: return [ 'database' => [ 'host' => getSecret('db_host'), 'user' => getSecret('db_user'), 'password' => getSecret('db_password), … ] ]; 这看起来是一个明智的做法吗?