Tag: curl

如何访问dockerregistryv2curl?

当我直接运行docker run -d -p 5000:5000 –restart=always –name registry registry:2 ,我可以通过curl localhost:5000/v2/_catalog访问registry。 但是在我使用TLS引用https://docs.docker.com/registry/deploying/保护registry之后。 像curl localhost:5000/v2/_catalog这样的命令无法使用。 那么我怎样才能使用curl访问registry呢? 应该添加一些选项吗? 就像我想使用curl –insecure –cert ~/cert.pem –key ~/key.pem https://$host:2376/_ping remote api一样,我可以使用curl –insecure –cert ~/cert.pem –key ~/key.pem https://$host:2376/_ping 。

Docker和Vagrant连接

我有2个应用程序在本地设置。 一个(app_v)运行在stream浪汉上,我可以通过浏览器访问http://192.168.50.5:3000/ 。 其次(app_d)在docker-compose上运行,我可以在http://192.168.50.6:3000/的浏览器上访问它。 问题是,他们似乎没有完全看到对方 。 我ssh进入我的app_v的stream浪机器。 我运行: ping on 192.168.50.6 它的工作。 但是curl: curl http://192.168.50.6:3000/ curl: (7) couldn't connect to host 重要的是: 30秒后出现错误。 如果我改变端口错误,如9999, 立即出现错误。 其他要点: 如果我SSH入dockerapp_d结果是相同的ping 192.168.50.5和curlhttp://192.168.50.5:3000/ 如果我从app_v或app_d之外运行相同的命令,ping和curl都可以工作 (这也是浏览器工作的原因)。 这两个应用程序运行在centos67上,它们都是rails应用程序 app_v的stream浪文件networking部分: config.vm.network 'public_network', ip: '192.168.50.5' config.vm.network 'forwarded_port', guest: 3000, host: 8080 config.vm.network 'forwarded_port', guest: 5432, host: 5434 Docker组合app_d的设置: version: '2' services: db: build: docker/database […]

获取docker API引擎exec输出

我尝试从容器中运行一个命令我得到的输出,但我只到目前为止在RAW文本。 我需要能够得到与PHP输出,似乎我不能这样做,当它返回RAW文本。 这是我的Dockerfile: FROM phusion/baseimage:0.9.19 CMD ["/sbin/my_init"] WORKDIR /root RUN sed -i "s/^exit 101$/exit 0/" /usr/sbin/policy-rc.d RUN apt-get update RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y \ nginx \ php-fpm php-mysql php-gd php-curl php-cli php-mbstring php-dom unzip RUN service php7.0-fpm start EXPOSE 80 RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 这里是我正在运行的curl请求: ## Create container curl […]

Asp.net核心Docker容器出站HTTPS调用失败

我正在使用下面的Dockerfile为我的ASP.NET Core应用程序创build一个容器: FROM microsoft/aspnetcore:1.1.2 ARG source WORKDIR /app EXPOSE 80 COPY PublishOutput . ENTRYPOINT ["dotnet", "IdentityServer4.Management.dll"] 看来,如果我的容器必须通过HTTPS进行任何出站调用,则会引发一个exception,引用curl: System.Net.Http.HttpRequestException: An error occurred while sending the request. —> System.Net.Http.CurlException: SSL connect error 即使远程端有有效的证书,这似乎也会发生。 我已经能够通过附加下面的HttpHandlerto来绕过这个HttpClient,这似乎绕过了这个问题: var httpClientHandler = new HttpClientHandler(); httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; }; 我在这里错过了什么,为什么我必须做这个解决方法? 在试图研究这个问题之后,我遇到了一些讨论,build立这个连接需要一个“客户端证书”,没有具体的例子。 另外,我在技术上使用Rancher作为我们的Dockerpipe理系统,它有一组运行这些容器的基础设施。 不知道这是否有所作为,但我想我会提到它。

可以从curl访问docker服务,但不能从postman / chrome访问

我正在执行docker入门指南: https : //docs.docker.com/get-started/part3/#recap-and-cheat-sheet-optional 泊坞窗,compose.yml: version: "3" services: web: # replace username/repo:tag with your name and image details image: username/repo:tag deploy: replicas: 5 resources: limits: cpus: "0.1" memory: 50M restart_policy: condition: on-failure ports: – "80:80" networks: – webnet networks: webnet: 我通过运行docker stack deploy -c docker-compose.yml getstartedlab部署我的应用程序。 然后从curl访问我的服务工作良好curl -4 http://localhost <h3>Hello World!</h3><b>Hostname:</b> 1532cae6e06f<br/>…. 但是我不能通过访问http://localhost:80 (永久加载)从chrome或邮递员访问它。 为什么以及如何解决? […]

dockerregistry不能删除图像?

我已经在我的实例上部署了Dockerregistry,在成功将图像推送到registry后,我想用curl -XDelete执行删除curl -XDelete ,在curl -XDelete站点上的文档“ DELETE /v2/<name>/manifests/<reference> “,但回应显示不成功: 响应: <HTML> <HEAD><TITLE>Redirection</TITLE></HEAD> <BODY><H1>Redirect</H1></BODY>` 有没有人遇到这样的问题?

Docker:无法打开端口8080

我有一个容器内的REST API绑定到/ rest / getMail,它返回一个JSONstring。 我可以在容器中调用这个API,使用curl localhost:8080/rest/getMail没有问题。 但是,我不能从外部调用这个API,即使我已经EXPOSE了这个端口,并且做了一个外部的内部端口绑定: docker run -d -i -p 2500:8080 myimage ,或者docker run -d -i -p 2500:8080 myimage docker run -d -i –expose 8080 -p 2500:8080 myimage 。 它显示:连接被拒绝。 我甚至不能使用IP地址来调用API: curl 172.17.0.2:8080/rest/getMail 可能是什么问题? 这真的很奇怪。 谢谢。 编辑: 当我做curl localhost:2500 ,它显示: curl: (56) Recv failure: Connection reset by peer 和telnet localhost:2500 : Trying […]

如何使用curl命令获取清单v2模式版本2

curl -H "Authorization: Bearer $BEARER" \ -H "Accept: application/vnd.docker.image.manifest.v2+json" \ https://registry-1.docker.io/v2/$NAME/manifests/sha256:3eb57a4024e69d05ace49be70ab9d13610cfe611a0191c7edc26f5a2b675e7b1 以上是我使用的命令。 我已经将Accept字段设置为标题中的模式版本2清单媒体types,但仍然返回模式版本1的清单

cURL使用Symfony 3的DropBox

我使用Symfony的Gaufrette Bundle来访问DropBox API。 我的控制器中的代码是 $dropbox = $this->get('acme.dropbox.api'); $dropbox->getAccountInfo(); 我得到一个错误 curl错误:(77)错误设置证书validation位置: CAfile:rootca CApath:/ etc / ssl / certs 500内部服务器错误 – Dropbox_Exception_NotFound 我使用了Docker,所以我不确定它是否与我在Docker上configuration证书的方式一致。 我使用Docker的https://github.com/eko/docker-symfony包。

有一个直接的方式来获得来自unix套接字的html响应(像curl一样)吗?

我需要创build一个Docker(1.13)容器,它将作为docker swarm中的一个服务运行,以安排作业(比如在需要时执行“docker exec”的全局crontab)。 我是一个相当系统pipe理员,而不是一个编码器,所以我开始用bash,curl和jq来做这件事。 它有效,但是肯定有改进的余地。 为了给你一个我正在处理的mumbo-jumpo的概念,下面是我传递给docker套接字以查明服务在哪里运行的一些片段: # Get local docker node ID: curl -s –unix-socket /var/run/docker.sock http:/v1.26/info | jq -r '.Name + " " + .Swarm.NodeID' # List swarm node ID's: curl -s –unix-socket /var/run/docker.sock http:/v1.26/nodes | jq -r '.[] | .Description.Hostname + " " + .ID' # List swarm services: curl -s –unix-socket /var/run/docker.sock […]