Tag: curl

在运行容器时使用curl成功

我正在尝试使用Docker构build和运行Marklogic实例。 Marklogic提供了一些不错的http api,因此,作为Dockerfile中的最后一个CMD ,我运行了两个通过curl执行一些http请求的脚本,以便在容器启动时正确configurationMarklogic的实例。 但是当我运行我的形象时, docker run -p 7997-8002:7997-8002 –name gi-ml-container -e USER=admin -e PASSWORD=admin -e REALM=public -e HOST=gi-ml-container gi-marklogic 我得到这个错误: 0curl: (6) Could not resolve host: gi-ml-container; Name or service not known 我以为conainer的名字应该足够了。 我怎样才能curl到我正在运行Dockerfile的容器? 这是正确的吗? 我正在使用Docker 1.12.6,在Ubuntu 16.04上构build78d1802。 这是我的Dockerfile: FROM centos:centos7 ARG USER=admin ARG PASSWORD=admin ARG REALM=public ARG HOST=localhost RUN yum -y install glibc.i686 […]

无法从一个容器curl到另一个容器

我有一个docker-compose.yml中的两个容器。 两者在同一networking上都是一样的。 我已经使用“depends_on”添加了依赖项,我可以ping其他容器,但curl不起作用。 version: "2.1" services: web: restart: always build: context: . dockerfile: web.dockerfile ports: – "9000:8080" expose: – "8080" networks: – test nginx_web: restart: always build: context: . dockerfile: nginx_web.dockerfile ports: – "8100:80" expose: – "80" depends_on: – web networks: – test networks: test: 当我尝试从nginx_web容器到networking,它工作正常。 但curl不起作用。 我正进入(状态 curl: (7) Failed to connect to 172.28.0.7 […]

在OSX上从terminal完全安装.dmg文件

我正在执行一个bash脚本,通过cURL下载最新版本的docker: curl -O https://download.docker.com/mac/stable/Docker.dmg > ./Docker.dmg 它运作良好。 我也希望为用户安装它: hdiutil attach Docker.dmg 这提示OSX上的function,用户必须将该程序“拖”到应用程序中才能正确安装。 有没有办法绕过这个过程? 通过shell脚本,在OSX上完全安装应用程序,并获得在terminal(在这种情况下,为Docker相关)中运行它的权限,以便脚本可以访问terminal中的docker run来启动一个实例。

PHP的cURL访问无法远程Docker中心/registry

为了方便我们的应用程序的远程CICD过程,我试图访问我们的Docker Hub / Registry,以便能够列出,标记和推送图像。 从bash脚本中使用以下内容开始: TOKEN=$(curl -s -H "Content-Type: application/json" -X POST -d '{"username": "'${UNAME}'", "password": "'${UPASS}'"}' https://hub.docker.com/v2/users/login/ | jq -r .token) 我在PHP中创build了一些cURL,试图获得Docker Hub的令牌: $user = 'xxxxxxxx'; $pass = 'xxxxxxxx'; $namespace = 'xxxxxxxx'; $headers = array(); $headers[] = 'Content-Type: application/json'; $url = "https://hub.docker.com/v2/users/login/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POST, 1); […]

docker registry v2和curl的insufficient_scope错误

我试图通过v2registry访问docker中心,无法理解为什么我得到一个在headers中返回的insufficient_scope错误。 #!/bin/bash REPO=ubuntu TAG=latest REGISTRY=https://registry-1.docker.io/v2 URI="$REGISTRY/$REPO/manifests/$TAG" echo URI=$URI MANIFEST="`curl -skL -o /dev/null -D- $URI`" CHALLENGE="`grep "Www-Authenticate" <<<"$MANIFEST"`" if [[ CHALLENGE ]]; then IFS=\" read _ REALM _ SERVICE _ SCOPE _ <<<"$CHALLENGE" echo REALM is $REALM echo SERVICE is $SERVICE echo SCOPE is $SCOPE TOKEN="`curl -skL "$REALM?service=$SERVICE&scope=$SCOPE"`" IFS=\" read _ _ _ TOKEN _ <<<"$TOKEN" […]

Docker API不能应用jsonfilter

根据https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/list-tasks ,filter只能用于获取具有特定服务名称的运行容器。 出于某种原因,我收到了所有任务的完整列表,不pipe他们的姓名或期望的状态如何。 我找不到使用Docker API的JSON请求使用curl的任何适当的例子。 我正在使用以下命令: 一个) curl -X GET -H“Content-Type:application / json”-d“{”filters“:[{”service“:”demo“,”desired-state“:”running“}]}' https:// HOSTNAME:2376 / tasks –cert〜/ .docker / cert.pem –key〜/ .docker / key.pem –cacert〜/ .docker / ca.pem 返回一切 B)试图从Docker远程API筛选器退出工作 curl https:// HOSTNAME:2376 / containers / json?all = 1&filters = {%22status%22:[%22exited%22]} –cert〜/ .docker / cert.pem –key〜/ .docker / key .pem –cacert〜/ .docker / ca.pem […]

如何运行与docker的错误

我正在使用docker的应用程序。 我能够做到以下几点 创造肥缸 从那里创builddocker的形象 运行该泊坞窗图像 在8080上列出并在Docker文件中添加了EXPOSE 8080 curl我的URL从内部容器,curl localhost:8080 / sample 我正面临一些奇怪的问题, 而我的撰写文件是 version: '2' services: login: image: my-image ports: – "8080:8080" 与8080端口我无法访问该url。 我的Dockerfile FROM openjdk:8-jre COPY ./target/*-with-dependencies.jar /jars/service-jar.jar EXPOSE 8080 CMD java -cp /jars/service-jar.jar my.Main 我的Undertow听众 Undertow server = Undertow.builder() .addHttpListener(8080, "localhost") .setHandler(path) .build(); 我在谷歌链接仍然无法使其工作 http://lists.jboss.org/pipermail/undertow-dev/2014-October/000999.html

带有URL参数的PHP echo语句

我在PHP中写了一个小脚本来发送POST请求到Web服务器: <?php $cid = file_get_contents('cid'); function httpPost($url) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_POST, true); $output=curl_exec($ch); curl_close($ch); return $output; } echo httpPost("http://172.17.0.1:2375/containers/$cid/stop?t=5"); ?> 是的,这是Docker。 我在Docker中使用远程API ,这个脚本的一小部分工作! 但是,URL末尾的?t = 5会被忽略。 我猜这跟那个有关系? 。 如何正确格式化此url,以使t = 5正常工作? (到目前为止,我尝试了1,001种方法,用引号和双引号,没有运气,花了4个多小时,我认为stackoverflow可以帮忙?) 谢谢… 注意:“cid”只是硬盘上的一个文件,用于存储容器ID。 所以我从文件中检索容器ID,并将其传递给URL(这部分工作,无论如何)。 完整的URL是由我写的,即不parsing。

使用docker / containers +无法在浏览器中访问服务器

我在我的docker集装箱运行tomcat。 我的问题是为什么我可以在这里在cygwin 192.168.59.103:8888(使用curl或l)),而不是在我的Firefox浏览器? 我在Windows7机器上用cygwin和boot2docker 我的IP在我的Windows机器(做一个ipconfig /所有在cygwin) 10.201.202.25(Preferred) 我的启动2dockerIP(梯级cygwin) $ boot2docker ip 192.168.59.103 在docker中运行这个命令来运行容器 docker@boot2docker:~$ docker run -it –rm -p 8888:8080 tomcat:8.0 这是服务器启动和运行 docker@boot2docker:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c1b19bf099f0 tomcat:8 "catalina.sh run" 3 hours ago Up 3 hours 0.0.0.0:8888->8080/tcp high_feynman 我正在运行的容器的IP地址是172.17.0.2 docker@boot2docker:~$ docker inspect high_feynman | grep IP "GlobalIPv6Address": "", […]

CircleCI:validationdocker容器是否通过HTTP进行响应的最佳方法

这里是我的circle.yml的一部分的一个例子,我目前正在validation我的mongodb docker容器是否响应一个http请求,以便我可以validation响应是否正常,服务器是否启动。 test: override: # RUN DOCKER CONTAINERS # MongoDB ————- – docker run –name MongoDB -p 27018:27018 -d mongo:3.0 mongod –port 27018 –replSet "rs"; sleep 10 – curl –retry 10 –retry-delay 5 -v http://localhost:27018 有了这个curl它有时工作得很好。 有时它给了我这个错误 : curl –retry 10 –retry-delay 5 -v http://localhost:27018 * About to connect() to localhost port 27018 (#0) * […]