我是新的docker集装箱和进出口遇到以下问题。 我正在开发一个网页,请求暴露的API。 它们都发布在通过networking链接的不同容器上。 这是我的docker-compose.yml文件: version: '2' services: api: image: my/api networks: – api ports: – "8080:5000" container_name: api web: build: context: ./DockerWeb networks: – api ports: – "80:5000" container_name: web networks: api: driver: bridge 我已经注意到,如果我连接到运行我的网页的容器,我可以ping通api容器,没有任何问题,使用ping api 当试图对api容器进行任何web服务调用时,问题就来了。 我正在尝试初始化一个HttpClient对象,但是这样的对象的BaseAddress属性必须设置为有效的Uri。 _client = new HttpClient(); _client.BaseAddress = new Uri(config.ApiUrl); //config.ApiUrl = "api" 这会引发以下错误 UriFormatException:URI无效:无法确定URI的格式。 有没有办法a)以不同的方式公开容器名称,或b)调用Web服务而不需要使用URI? 我怎样才能做到这一点? UPDATE 我更新了ApiUrl以包含值http:api:8080 […]
我试图得到一个docker形象build立,需要它克隆一个私人的github回购。
我需要每天午夜在Docker容器中运行一个js文件。 这是我的文件midnight.sh #!/bin/bash docker exec -it hash_app bash node midnight.js Docker exec工作正常。 但命令“节点midnight.js”不起作用。 我怎样才能执行docker集装箱内的midnight.js?
我只是安装docker,我可以在一个容器中运行一个mongodb图像,没有sudo 。 端口暴露27017.我现在试图从一个运行在主机上的shell访问它,但它只能与 sudo mongo –port 27017 我不想使用sudo 。 可能吗?
我正在调配一个使用一些ruby的节点的安装。 为了获得我的公司networking上的gem,我通常添加“ http://rubygems.org ”。 我正在使用Docker撰写和魔杖使用 gem source –add http://rubygems.org ,但我注意到它交互式地问我[yn] 。 我怎样才能避免交互,类似于apt-get install -yqq ?
我正在开发一个鬼博客,并将其作为docker容器进行部署。 由于我的项目的目标之一是使用实时数据来开发主题和其他内容,因此我已经为ghost docker镜像所build议的/ var / lib / ghost目录创build了一个卷装载。 ghost docker镜像装载的驱动器很好,但是当它尝试chown文件时,它会得到权限被拒绝的错误。 我正在运行Windows 10的创build者更新,以及最新的Docker for Windows(即Windows 10专业版1703和Docker版本17.03.1-ce-win5) 作为一个testing,我遵循这个程序,在家和工作(我在以前的版本的Windows 10): 在C:\ users \ joe \中创build一个Project \ site目录 将docker-compose.yml文件放在目录下: 运行docker-compose up 泊坞窗,compose.yml version: '3' services: blog: image: ghost volumes: – ./blog:/var/lib/ghost ports: – "2368:2368" 在我的工作机器上,它创build了博客目录,并使用主题和内容来填充ghost博客的预期内容。 在我的家用机器上,我得到这个错误: 错误:对于博客无法启动服务博客:创build安装源path时出错“/ C / Users / joe / Projects / site / blog”:mkdir / […]
我有一个NodeJS应用程序的容器,它必须链接到另一个容器与Postgres数据库。 我docker-compose.yml是: version: "3" services: postgres: image: "postgres:9.5.6-alpine" container_name: postgres volumes: – /shared_folder/postgresql:/var/lib/postgresql ports: – "5432:5432" web: build: . container_name: web ports: – "3000:3000" links: – postgres depends_on: – postgres command: sh /usr/home/freebsd/wait-for-command.sh -c 'nc -z postgres 5432' command: sh start.sh 在postgres容器上有一个名为“bucket”的数据库,由用户“user”拥有,密码为“password”。 当我inputdocker-compose并尝试链接容器时,在从控制台发出以下消息之后: [INFO] console – postgres://user:password@localhost:5432/bucket 我得到这个错误: Error: Connection terminated at [object Object].<anonymous> 在/node_modules/massive/node_modules/deasync/index.js:46 […]
我在Windows上运行docker工人,我有一个以下的健康检查指令: HEALTHCHECK –interval=20s \ –timeout=5s \ CMD powershell C:\\healthcheck.ps1 在healthcheck.ps1脚本中,我喜欢访问$ {env:something}的值,但在那里是空的。 我添加了Get-ChildItem Env:到healthcheck.ps1脚本来列出variables,看env是怎么样的,在启动的时候没有variables传递给容器。 有趣的是 – 当我用“docker exec”进入容器的时候,我可以看到这个variables,甚至更多地从容器内部手动启动健康检查脚本,如预期的那样,variables在那里可见。 docker工试图执行健康检查时,它不起作用。 我有一个类似的dockerfile在Linux上,当然它工作得很好。 所以我的问题是 – 在Windows上有什么不同? 我怎样才能做到这一点? 在健康检查脚本中,甚至可以在窗口上访问环境variables?
我正在构buildDebian 9,NGINX,PHP7 FPM容器。 我在我的php7-fpm文件(基于Debian 9) 发生问题(我想)当我有这个结束行: ENTRYPOINT ["php7.0-fpm"] 我之前在以前的docker build中使用过这个,但是这个是导致以下错误的问题: $ docker run -t linxlad/php7-fpm C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"php7.0-fpm\": executable file not found in $PATH". 我的Docker文件: # # PHP-FPM Dockerfile # # Pull base image. FROM linxlad/nginx # No tty ENV DEBIAN_FRONTEND noninteractive […]
您好,我们已经创build了一个Jelastic Docker环境,我们要在其上运行Appscale( https://www.appscale.com/try-appscale ): root@node1234-appscale:~# appscale up Executing ssh-copy-id for host: 1.8.1.6 root@1.8.1.6's password: root@1.8.1.6's password: root@1.8.1.6's password: root@1.8.1.6's password: 我想知道为什么我们使用相同的密码login到SSH不会在Docker中工作?