How to connect domain name with WordPress container in Docker? - wordpress

I have installed a WordPress container in the Docker app on my server. It's working when I am using my IP address and the port number myip:8000. But the question is that how to connect with a domain.
I have added "A" records on my DNS management but not working.

Try to find on which interface is the container listening. It may be it listens on local interface only: 10.10.10.10:8000 and not on external IP w.x.y.z:8000

Related

Make a bitnami wordpress stack in virtual box host a wordpress site

I have installed the follows
virtual box in my windows 10 home pc
the virtual box has a wordpress site stack VM whose image was from bitnami's site
I set up network as Bridged networking and the adapter is my realtek WLAN
I have installed wordpress and made my all required plugins in it
What do I actually need?
I am able to login using 192 168.43.xx
I want to use that virtual machine to host the site and I want to link the site to domain using A record
I want the Virtual machine to host not only to local network which is 192.168.xx.xx
I want to be available throughout internet
I have also tried using my laptop's IP and it does not work
Please help me regarding it. Iam a newbie.. so please comment if any queries (not too techie)
If you configured the network adapter as Bridged adapter, you should be able to access the WordPress machine from another computer in the same network by using the private IP address of the VM (192 168.43.xx). If you want to access the application from outside your network, you will need to configure the port forwarding rules in your router to redirect the incoming requests to the VM (publicIP:80 -> virtualmachineIP:80). This online site has a lot of information about how to configure this in different routers.

Unable to access web application in Docker container via container's ip and exposed port over http

I have a docker container running on a Centos host and has a host port: container port mapping. The docker container has an web application running.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2f8ce62bb69 image1 "/bin/bash" 16 hours ago Up 16 hours 22/tcp, 0.0.0.0:7001->7001/tcp nostalgic_elion
I can access the application over http by host IP address and host port which is mapped. However if I replace the host IP with container IP, then I get an error saying "site cannot be reached" ERR_CONNECTION_TIMED_OUT.
Is it possible to access using the container IP and exposed port over http? Unfortunately I do not have much background on networking.
By default Docker containers can make connections to the outside world, but the outside world cannot connect to containers. (https://docs.docker.com/v1.7/articles/networking/)
The docs however, say it is possible to have outside world talk to containers with some extra run options. The docs say about using the run with options -P or ----publish-all=true|false. Refer the options in the same docker networking page.
If your only need is to share different ip address to teams. update your host file with the docker containers ip address - localhost
My /etc/hosts file:
container-ip localhost
container-ip localhost
container-ip localhost

How to send http request from Docker to localhost or Virtual Machine

Being new to Docker and VM's, I have run into a blocker. I have a node app that needs to send a POST request from a Docker container to a Virtual Machine or to my local machine.
I have read through the Docker documentation, but still don't understand what I need to do in order to accomplish this.
So how can I send an http request from my node app running in a Docker Container to my Vagrant Box?
By default, Docker creates a virtual interface (docker0) in your host machine with IP 172.17.42.1. Each of the container launched will have an IP of the network 172.17.42.1/16, and they will be able to connect to host machine connecting to IP 172.17.42.1.
If you want to connect a docker container with another service running in a virtual machine running with other provider (e.g.: virtualbox, vmware), the easiest way is forwarding the ports needed by the service to you host machine and then, from your docker container, connecting to IP 172.17.42.1. You should check your virtual machine provider documentation to see details about this. And if you are using libvirt/KVM (or with any other provider), you can use iptables to enable port forwarding.

how do i make my website accessible from the internet without a static ip and from a virtual machine?

I have windows 8 host and i have installed ubuntu 14.10 server as a virtual machine in vmware. i have installed LAMP server and i am trying to host a website from it. i have created a virtual host. my website is accessible in the host machine when i go to the address 192.168.0.106.
my router info:
LAN
IP Address :192.168.0.1
INTERNET
IP Address :10.30.XXX.XXX
"what is my ip" in google: 113.XXX.XXX.XXX
how do i make my website accessible from the internet ? I know it is a dumb question, but i tried searching everywhere and could not get the solution.
Since you say that you can connect to the site from the host machine, it does not matter that it is in a VM.
You say that you can connect to your site via: 192.168.0.106 on the LAN. You need to forward connections to your WAN address (113.193.56.198) to your LAN address (192.168.0.106). You can do this in most router settings in a section called Port forwarding. Use port 80 if you're hitting the LAN IP from a browser and you don't have to add a port after the address like http:\\192.168.0.106:1234. Otherwise, use whatever port you like.
Once you get that working, it is a good idea to use a dynamic DNS service, which will connect your IP to a domain name and update the connection whenever your WAN IP changes. This way, instead of using the WAN IP in a browser, you can use your domain name and it should always work. But that's not your first problem. First get it working with the WAN IP by itself. Once you've got that working, get some DynDNS.
EDIT
If you think it should be working but can't figure out why it isn't, use a tool like nmap/zenmap to scan your WAN and LAN IPs. That will help you diagnose the problem.
A DynDNS should do the job!
It will automatically renew your dynamic ip address. All you need is; a tool that runs on your server with website.
Search for it on google, and you'll find a solution. Btw: there are, Free and paid solutions.
EDIT: by the way, your router requires additionally some port forwarding to make your website accessible from outside. Even with the DynDNS stuff installed.
Just to give you some indications.

Docker - access another container on the same machine via its public ip, without docker links

On a VPS with a static, publicly routable IP, I have a simple web server running (on port 8080) in a container that exports port 8080 (-p 0.0.0.0:8080:8080).
If I spin up another container on the same box and try to curl <public ip of host>:8080 it resolves the address, tries to connect but fails when making the request (it just hangs).
From the host's shell (outside containers), curl <public ip of host>:8080 succeeds.
Why is this happening? My feeling is that, somehow, the virtual network cards fail to communicate with each other. Is there a workaround (besides using docker links)?
According to Docker's advanced networking docs (http://docs.docker.io/use/networking/): "Docker uses iptables under the hood to either accept or drop communication between containers."
As such, I believe you would need to setup inbound and outbound routing with iptables. This article gives a solid description of how to do so: http://blog.codeaholics.org/2013/giving-dockerlxc-containers-a-routable-ip-address/

Resources