Unable to access external URLs from within Docker Container
I'm trying to access an external URL from within my Docker Container running on an AWS EC2 Instance.
Though I'm able to CURL from the EC2 Instance - the same CURL doesn't work from within the Docker container.
Essentially this CURL works in the EC2 Instance but NOT within the Docker Container. Why would that be?
curl https://elasticsearch.myorg.com
Dockerfile:
FROM docker.elastic.co/kibana/kibana:6.5.0
ENV ELASTICSEARCH_URL=https://elasticsearch.myorg.com
EXPOSE 5601
CMD ["/usr/local/bin/kibana-docker"]
docker amazon-ec2
|
show 1 more comment
I'm trying to access an external URL from within my Docker Container running on an AWS EC2 Instance.
Though I'm able to CURL from the EC2 Instance - the same CURL doesn't work from within the Docker container.
Essentially this CURL works in the EC2 Instance but NOT within the Docker Container. Why would that be?
curl https://elasticsearch.myorg.com
Dockerfile:
FROM docker.elastic.co/kibana/kibana:6.5.0
ENV ELASTICSEARCH_URL=https://elasticsearch.myorg.com
EXPOSE 5601
CMD ["/usr/local/bin/kibana-docker"]
docker amazon-ec2
Is that url supposed to be a real example or just a placeholder?
– George Appleton
Nov 14 '18 at 17:01
The url is a placeholder. Since it points to a Rout53 elastic endpoint within my Organization - didnt see the point of mentioning the actual endpoint. The point here is, i can curl that elasticsearch endpoint from within the EC2. But from within the docker container - it times out
– Dorian McAllister
Nov 14 '18 at 17:04
Have you tried attaching to the docker container and pinging the endpoint from there?
– George Appleton
Nov 14 '18 at 17:06
Sorry could u clarify this a bit more ? "have you tried attaching to the docker container"? Attach what specifically? If you mean If ive tried running the docker contain in interactive mode and logging in and pinging the endpoint from there.thats how i figured out the curl isnt working from the container
– Dorian McAllister
Nov 14 '18 at 17:37
What's the response message from trying that?
– George Appleton
Nov 14 '18 at 18:31
|
show 1 more comment
I'm trying to access an external URL from within my Docker Container running on an AWS EC2 Instance.
Though I'm able to CURL from the EC2 Instance - the same CURL doesn't work from within the Docker container.
Essentially this CURL works in the EC2 Instance but NOT within the Docker Container. Why would that be?
curl https://elasticsearch.myorg.com
Dockerfile:
FROM docker.elastic.co/kibana/kibana:6.5.0
ENV ELASTICSEARCH_URL=https://elasticsearch.myorg.com
EXPOSE 5601
CMD ["/usr/local/bin/kibana-docker"]
docker amazon-ec2
I'm trying to access an external URL from within my Docker Container running on an AWS EC2 Instance.
Though I'm able to CURL from the EC2 Instance - the same CURL doesn't work from within the Docker container.
Essentially this CURL works in the EC2 Instance but NOT within the Docker Container. Why would that be?
curl https://elasticsearch.myorg.com
Dockerfile:
FROM docker.elastic.co/kibana/kibana:6.5.0
ENV ELASTICSEARCH_URL=https://elasticsearch.myorg.com
EXPOSE 5601
CMD ["/usr/local/bin/kibana-docker"]
docker amazon-ec2
docker amazon-ec2
asked Nov 14 '18 at 16:52
Dorian McAllisterDorian McAllister
548
548
Is that url supposed to be a real example or just a placeholder?
– George Appleton
Nov 14 '18 at 17:01
The url is a placeholder. Since it points to a Rout53 elastic endpoint within my Organization - didnt see the point of mentioning the actual endpoint. The point here is, i can curl that elasticsearch endpoint from within the EC2. But from within the docker container - it times out
– Dorian McAllister
Nov 14 '18 at 17:04
Have you tried attaching to the docker container and pinging the endpoint from there?
– George Appleton
Nov 14 '18 at 17:06
Sorry could u clarify this a bit more ? "have you tried attaching to the docker container"? Attach what specifically? If you mean If ive tried running the docker contain in interactive mode and logging in and pinging the endpoint from there.thats how i figured out the curl isnt working from the container
– Dorian McAllister
Nov 14 '18 at 17:37
What's the response message from trying that?
– George Appleton
Nov 14 '18 at 18:31
|
show 1 more comment
Is that url supposed to be a real example or just a placeholder?
– George Appleton
Nov 14 '18 at 17:01
The url is a placeholder. Since it points to a Rout53 elastic endpoint within my Organization - didnt see the point of mentioning the actual endpoint. The point here is, i can curl that elasticsearch endpoint from within the EC2. But from within the docker container - it times out
– Dorian McAllister
Nov 14 '18 at 17:04
Have you tried attaching to the docker container and pinging the endpoint from there?
– George Appleton
Nov 14 '18 at 17:06
Sorry could u clarify this a bit more ? "have you tried attaching to the docker container"? Attach what specifically? If you mean If ive tried running the docker contain in interactive mode and logging in and pinging the endpoint from there.thats how i figured out the curl isnt working from the container
– Dorian McAllister
Nov 14 '18 at 17:37
What's the response message from trying that?
– George Appleton
Nov 14 '18 at 18:31
Is that url supposed to be a real example or just a placeholder?
– George Appleton
Nov 14 '18 at 17:01
Is that url supposed to be a real example or just a placeholder?
– George Appleton
Nov 14 '18 at 17:01
The url is a placeholder. Since it points to a Rout53 elastic endpoint within my Organization - didnt see the point of mentioning the actual endpoint. The point here is, i can curl that elasticsearch endpoint from within the EC2. But from within the docker container - it times out
– Dorian McAllister
Nov 14 '18 at 17:04
The url is a placeholder. Since it points to a Rout53 elastic endpoint within my Organization - didnt see the point of mentioning the actual endpoint. The point here is, i can curl that elasticsearch endpoint from within the EC2. But from within the docker container - it times out
– Dorian McAllister
Nov 14 '18 at 17:04
Have you tried attaching to the docker container and pinging the endpoint from there?
– George Appleton
Nov 14 '18 at 17:06
Have you tried attaching to the docker container and pinging the endpoint from there?
– George Appleton
Nov 14 '18 at 17:06
Sorry could u clarify this a bit more ? "have you tried attaching to the docker container"? Attach what specifically? If you mean If ive tried running the docker contain in interactive mode and logging in and pinging the endpoint from there.thats how i figured out the curl isnt working from the container
– Dorian McAllister
Nov 14 '18 at 17:37
Sorry could u clarify this a bit more ? "have you tried attaching to the docker container"? Attach what specifically? If you mean If ive tried running the docker contain in interactive mode and logging in and pinging the endpoint from there.thats how i figured out the curl isnt working from the container
– Dorian McAllister
Nov 14 '18 at 17:37
What's the response message from trying that?
– George Appleton
Nov 14 '18 at 18:31
What's the response message from trying that?
– George Appleton
Nov 14 '18 at 18:31
|
show 1 more comment
1 Answer
1
active
oldest
votes
So after a LOT of trial and error, I finally figured out the problem. It looks like running the docker image using the standard:
docker run -d -p 5601:5601 my-kibana-image:1
doesnt suffice. The host resolution to elasticsearch (which is an external host) ONLY works when I change the network configuration from the default to "host". Doing this
docker run --net=host -d -p 5601:5601 my-kibana-image:1
finally fixed the issue and the kibana container instance was FINALLY able to talk to elasticsearch!!! Kibana bootstrapped correctly and I was able to bring it up fine at this point.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53305161%2funable-to-access-external-urls-from-within-docker-container%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
So after a LOT of trial and error, I finally figured out the problem. It looks like running the docker image using the standard:
docker run -d -p 5601:5601 my-kibana-image:1
doesnt suffice. The host resolution to elasticsearch (which is an external host) ONLY works when I change the network configuration from the default to "host". Doing this
docker run --net=host -d -p 5601:5601 my-kibana-image:1
finally fixed the issue and the kibana container instance was FINALLY able to talk to elasticsearch!!! Kibana bootstrapped correctly and I was able to bring it up fine at this point.
add a comment |
So after a LOT of trial and error, I finally figured out the problem. It looks like running the docker image using the standard:
docker run -d -p 5601:5601 my-kibana-image:1
doesnt suffice. The host resolution to elasticsearch (which is an external host) ONLY works when I change the network configuration from the default to "host". Doing this
docker run --net=host -d -p 5601:5601 my-kibana-image:1
finally fixed the issue and the kibana container instance was FINALLY able to talk to elasticsearch!!! Kibana bootstrapped correctly and I was able to bring it up fine at this point.
add a comment |
So after a LOT of trial and error, I finally figured out the problem. It looks like running the docker image using the standard:
docker run -d -p 5601:5601 my-kibana-image:1
doesnt suffice. The host resolution to elasticsearch (which is an external host) ONLY works when I change the network configuration from the default to "host". Doing this
docker run --net=host -d -p 5601:5601 my-kibana-image:1
finally fixed the issue and the kibana container instance was FINALLY able to talk to elasticsearch!!! Kibana bootstrapped correctly and I was able to bring it up fine at this point.
So after a LOT of trial and error, I finally figured out the problem. It looks like running the docker image using the standard:
docker run -d -p 5601:5601 my-kibana-image:1
doesnt suffice. The host resolution to elasticsearch (which is an external host) ONLY works when I change the network configuration from the default to "host". Doing this
docker run --net=host -d -p 5601:5601 my-kibana-image:1
finally fixed the issue and the kibana container instance was FINALLY able to talk to elasticsearch!!! Kibana bootstrapped correctly and I was able to bring it up fine at this point.
answered Nov 15 '18 at 1:10
Dorian McAllisterDorian McAllister
548
548
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53305161%2funable-to-access-external-urls-from-within-docker-container%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Is that url supposed to be a real example or just a placeholder?
– George Appleton
Nov 14 '18 at 17:01
The url is a placeholder. Since it points to a Rout53 elastic endpoint within my Organization - didnt see the point of mentioning the actual endpoint. The point here is, i can curl that elasticsearch endpoint from within the EC2. But from within the docker container - it times out
– Dorian McAllister
Nov 14 '18 at 17:04
Have you tried attaching to the docker container and pinging the endpoint from there?
– George Appleton
Nov 14 '18 at 17:06
Sorry could u clarify this a bit more ? "have you tried attaching to the docker container"? Attach what specifically? If you mean If ive tried running the docker contain in interactive mode and logging in and pinging the endpoint from there.thats how i figured out the curl isnt working from the container
– Dorian McAllister
Nov 14 '18 at 17:37
What's the response message from trying that?
– George Appleton
Nov 14 '18 at 18:31