Tag: curl

curl可以获取托pipe在本地docker中的web内容,但浏览器无法打开页面

我在我的Mac中安装了docker,并运行laravel容器。 使用docker -p指向端口后,我成功地使用cURL获取web内容。 不过,我无法使用Safari或任何其他浏览器来查看页面。 该url看起来像这样: http : //191.168.99.100 ,我相信docker和容器之间的端口成功配对。 我想知道是否有一个特定的故障排除方法来find问题的原因。

用curl连接到Docker API

我在Mac上使用Kitematic,并试图使用curl连接到docker events API。 curl –no-buffer -XGET –unix-socket tcp://192.168.99.102:2376 http://events curl: (7) Couldn't connect to server 但是,它不会连接到服务器。 这连接: telnet 192.168.99.102 2376 Trying 192.168.99.102… Connected to 192.168.99.102. Escape character is '^]'. 我也尝试了可以​​成功订阅事件stream的Ruby Docker库。

docker容器无法find使用curl

使用curl命令,在官方文档中提供的curl –unix-socket /var/run/docker.sock http:/containers/json?all=1 ,我的机器上的所有容器都得到了JSON结果。 [{"Id":"b20b26f300f86125466716cf70f3d105b7e55c7bef103276d6b4e6244a0fbd2e","Names":["/generated_898522226"],"Image":"nginx","ImageID":"sha256:eb4a127a1188a3e274eb38f079c5e11680b942927956a38b9b6b6c6736e14fd2","Command":"nginx -g 'daemon off;'","Created":1463082026,"Ports":[],"Labels":{},"State":"exited","Status":"Exited (0) 18 hours ago","HostConfig":{"NetworkMode":"default"},"NetworkSettings":{"Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"","EndpointID":"","Gateway":"","IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":""}}},"Mounts":[]},{"Id":"dfe7908b7de93b0bfee8be0043e30f103e3f98bf1ec5cd04d569bf626449b23d","Names":["/generated_1639068228"],"Image":"nginx","ImageID":"sha256:eb4a127a1188a3e274eb38f079c5e11680b942927956a38b9b6b6c6736e14fd2","Command":"nginx -g 'daemon off;'","Created":1463081989,"Ports":[],"Labels":{},"State":"exited","Status":"Exited (0) 18 hours ago","HostConfig":{"NetworkMode":"default"},"NetworkSettings":{"Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"","EndpointID":"","Gateway":"","IPAddress":"","IPPrefixLen":0,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":""}}},"Mounts":[]}] 但是,当我执行下面的命令时, curl –unix-socket /var/run/docker.sock http:/containers/b20b26f300f8/start ,它告诉我404 page not found 。 这个id在JSON结果里面,当我尝试启动的时候怎么没有find?

主机在Docker容器内部不可访问

我在主机上有一个docker容器183.83.83.83子域mycontainer.example.com的Alogging指向这个IP。 curl到183.83.83.83或mycontainer.example.com给HTTP状态200和正确的网站。 但是,该主机上的每个容器(包括上面的IP或主机名)内部的curl都无法连接: curl: (7) Failed to connect to mycontainer.example.com port 80: Host is unreachable 从另一个主机的Docker容器或主机本身尝试这种情况时,不会发生这种情况。 这里怎么了? 编辑:更多详细信息:主机运行一个Nginx代理容器 ,它将所有对mycontainer.example.com请求代理到我的前端容器(通过一个小节点的webserver运行一个React应用程序)。 前端容器应该将来自mycontainer.example.com/api所有API请求代理到mycontainer.example.com:1337/api/v1 。 然而,它不能代理API请求,因为我得到的错误Host is unreachable从该主机上运行的所有容器内。

如何编写PHP代码来执行两个函数

我有这个PHP脚本(用于Docker远程API),我用它来“远程”停止一个容器: <?php $cid = trim(file_get_contents('cid')); echo "$cid\n"; 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; } $url = "http://172.17.0.1:2375/containers/$cid/stop?t=5"; echo "$url\n"; echo httpPost($url) ?> 有用! 但我想要这段代码“停止” 两个docker集装箱,而不是只有一个。 我在想这样的事情: $cid = trim(file_get_contents('cid')); $pid = trim(file_get_contents('pid')); 那么代码的其余部分是怎么样的,这样我们就可以停止这两个呢?

Docker在Docker中 – SSL问题

我在CIpipe道中使用Docker作为Jenkins从站的Docker。 我遇到了有关SSL的问题。 问题是maven无法访问位于我们的Nexus回购的文物,它只是挂起。 我试着用curl进行debugging。 在DinD容器内,一切正常: $ curl -I https://www.google.com HTTP/1.1 200 OK 如果然而我运行: bash-4.3# curl -I –insecure https://nexus.eng.myco.com/nexus curl: (35) Unknown SSL protocol error in connection to nexus.eng.myco.com:443` 它挂了很长时间,然后我得到这个错误: curl: (35) Unknown SSL protocol error in connection to nexus.eng.myco.com:443` 我可以运行有问题的curl语句(运行docker容器的Docker容器),都是好的。 我应该注意到,如果我在我的笔记本电脑上运行有问题的DinD容器(不是DinD),它没有问题。 更新与debugging信息: bash-4.3# curl -v -I https://nexus.eng.myco.com/nexus/content/groups/this> * Trying 54.164.137.27… * Connected to nexus.eng.my.com (44.164.137.27) […]

在php:7.0-fpm docker容器上更新cURL php扩展

我能够升级cURL二进制文件和库,但PHP仍然使用旧版本。 我build立在官方php:7.0-fpmdocker集装箱之上。 首先,我已经升级cURL: RUN curl -fsSL 'https://curl.haxx.se/download/curl-7.50.3.tar.gz' -o curl.tar.gz \ && mkdir -p curl \ && tar -xf curl.tar.gz -C curl –strip-components=1 \ && rm curl.tar.gz \ && ( \ cd curl \ && make \ && make install \ && ldconfig \ ) \ && rm -r curl 我试过了: 使用libtool cd curl \ && […]

如何在Docker中创build文件系统卷?

Docker是否支持使用特定文件系统创build卷? 我无法find任何API调用,但我可以看到一些文件说它可以。 我正在用curl命令来试试这个: curl -H "Content-Type: application/json" -X POST -d'{ "name":"visadfasfas","scope":"local","driver":local,"type":"tmpfs" }' https://<HOST-IP>:2376/volumes/create 所以它创build了音量,但是我看不到它的响应types。

在相同的Docker主机(nginx-proxy)上curlDocker容器

我有一个基于docker-letsencrypt-nginx-proxy-companion的设置,在同一个Docker主机上运行一个django容器和一个wordpress容器。 我已经添加到域的每个容器,所以wordpress容器可以与mydomain.com和www.mydomain.com以及与subdomain.mydomain.com django容器。 这是在VIRTUAL_HOST env中configuration的,并且其工作完美。 我得到所有的证书,我可以连接到他们每个人。 我现在的主要问题是,wordpress容器需要curldjango容器,反之亦然。 但是,如果我进入Django或WordPress的容器,并尝试打电话给例如subdomain.mydomain.com我得到以下错误: $ curl mydomain.com Hostname was NOT found in DNS cache 然后他试图连接到IP,并在超时结束。 如果我从本地或不同的服务器curl,我得到一个200没有任何问题,每个人。 我读了一些DNS解决问题,但是我找不到解决scheme。 你有什么线索可以在这种情况下做什么? 提前致谢! 我的容器: Nginx代理撰写 version: "2" services: nginx-proxy: image: jwilder/nginx-proxy container_name: nginx-proxy restart: always ports: – "80:80" – "443:443" volumes: – "/var/www/certificates:/etc/nginx/certs:ro" – "/etc/nginx/vhost.d" – "/usr/share/nginx/html" – "/var/run/docker.sock:/tmp/docker.sock:ro" letsencrypt-nginx-proxy-companion: image: jrcs/letsencrypt-nginx-proxy-companion container_name: letsencrypt-nginx-proxy-companion restart: […]

使用API​​(2.5.1)将容器上传到registryV2

嗨,我试图上传一个docker容器到私人dockerregistry使用API​​。 使用docker命令一切似乎工作得很好: docker pull ubuntu:16.04 docker tag ubuntu:16.04 <PRIVATE-REGISTRY-IP>:5000/ubuntu/16.04 docker push <PRIVATE-REGISTRY-IP>:5000/ubuntu/16.04 我试图使用API​​上传相同的图像,我做了什么: 使用docker save ubuntu:16.04 -o ubuntu.tar导出容器docker save ubuntu:16.04 -o ubuntu.tar 解压容器文件tar xf ubuntu.tar 用curl上传所有图层 上传清单与curl 好吧,阅读文档 ,图层必须分别与他们使用sha256sum <LAYER-FILE>获得的摘要PUT分开,完成后,清单应该也是PUT到registry curl电话细节:) curl -XPOST -H 'accept: application/json' http://<PRIVATE-REGISTRY-IP>:5000/v2/ubuntu/blobs/uploads/ response headers: {"Docker-Distribution-Api-Version":["registry/2.0"],"Docker-Upload-Uuid":["318d5752-b10b-49da-9ebf-5891b679a805"],"X-Content-Type-Options":["nosniff"],"Range":["0-0"],"Content-Length":["0"],"Date":["Wed, 23 Nov 2016 16:05:53 GMT"],"Content-Type":["text/plain; charset\u003dutf-8"],"Location":["http://<PRIVATE-REGISTRY-IP>:5000/v2/ubuntu/blobs/uploads/318d5752-b10b-49da-9ebf-5891b679a805?_state\u003dv2nk-ATsPGQKJatyjUQTSJwl2BlQywrqeCkVTzQj0uh7Ik5hbWUiOiJ0ZXN0MDEiLCJVVUlEIjoiMzE4ZDU3NTItYjEwYi00OWRhLTllYmYtNTg5MWI2NzlhODA1IiwiT2Zmc2V0IjowLCJTdGFydGVkQXQiOiIyMDE2LTExLTIzVDE2OjA1OjUzLjE1Njk5NzUxM1oifQ%3D%3D"]} DIGEST=$(sha256sum /home/user/container/ubuntu/3e1722599d1d5331b610200b6b41f895759e312ff1f14e009bee2f52f962b69f/layer.tar) curl -XPUT -H 'accept: application/json' -d @/home/user/container/ubuntu/3e1722599d1d5331b610200b6b41f895759e312ff1f14e009bee2f52f962b69f/layer.tar […]