Connection refused on Docker tutorial get started part 4
I don't understand what I missed.
docker.compose.yml
version: "3"
services:
web:
# replace username/repo:tag with your name and image details
image: svezday/friendlyhello:part-1
deploy:
replicas: 5
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memory: 50M
ports:
- "80:80"
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
networks:
webnet:
Dockerfile
# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", "app.py"]
app.py
from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)
@app.route("/")
def hello():
try:
visits = redis.incr("counter")
except RedisError:
visits = "<i>cannot connect to Redis, counter disabled</i>"
html = "<h3>Hello {name}!</h3>" "<b>Hostname:</b> {hostname}<br/>" "<b>Visits:</b> {visits}"
return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
I'm on ubuntu 18, with vitualbox.
This is the vm
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 * virtualbox Running tcp://192.168.99.100:2376 v18.09.0
requirements.txt
Flask
Redis
myvm2 - virtualbox Running tcp://192.168.99.101:2376 Unknown Unable to query docker version: Get https://192.168.99.101:2376/v1.15/version: x509: certificate is valid for 192.168.99.103, not 192.168.99.101
docker-machine ssh myvm1
docker swarm init --advertise-addr 192.168.99.101:2377 getStartNow
docker-machine ssh myvm2
docker swarm join --token SWMTKN-1-29dkoqd6tskoqszzrdpcnw0nbmrgbrw9xr27yoxtvapodk6qmg-3tv01eh1ts0n97s5c5zq7q4ju 192.168.99.100:2377
docker-machine ssh myvm1
docker stack deploy -c docker.compose.yml getStartNow
docker stack ls
NAME SERVICES ORCHESTRATOR
getStartNow 2 Swarm
docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
w9l0khipey4v getStartNow_visualizer replicated 1/1 dockersamples/visualizer:stable *:8080->8080/tcp
3yoifm7inujf getStartNow_web replicated 5/5 svezday/friendlyhello:part-1 *:80->80/tcp
AND HERE IS MY PROBLEM
curl http://192.168.99.100:80
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused
curl http://192.168.99.100:8080
curl: (7) Failed to connect to 192.168.99.100 port 8080: Connection refused
docker virtualbox docker-machine
add a comment |
I don't understand what I missed.
docker.compose.yml
version: "3"
services:
web:
# replace username/repo:tag with your name and image details
image: svezday/friendlyhello:part-1
deploy:
replicas: 5
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memory: 50M
ports:
- "80:80"
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
networks:
webnet:
Dockerfile
# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", "app.py"]
app.py
from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)
@app.route("/")
def hello():
try:
visits = redis.incr("counter")
except RedisError:
visits = "<i>cannot connect to Redis, counter disabled</i>"
html = "<h3>Hello {name}!</h3>" "<b>Hostname:</b> {hostname}<br/>" "<b>Visits:</b> {visits}"
return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
I'm on ubuntu 18, with vitualbox.
This is the vm
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 * virtualbox Running tcp://192.168.99.100:2376 v18.09.0
requirements.txt
Flask
Redis
myvm2 - virtualbox Running tcp://192.168.99.101:2376 Unknown Unable to query docker version: Get https://192.168.99.101:2376/v1.15/version: x509: certificate is valid for 192.168.99.103, not 192.168.99.101
docker-machine ssh myvm1
docker swarm init --advertise-addr 192.168.99.101:2377 getStartNow
docker-machine ssh myvm2
docker swarm join --token SWMTKN-1-29dkoqd6tskoqszzrdpcnw0nbmrgbrw9xr27yoxtvapodk6qmg-3tv01eh1ts0n97s5c5zq7q4ju 192.168.99.100:2377
docker-machine ssh myvm1
docker stack deploy -c docker.compose.yml getStartNow
docker stack ls
NAME SERVICES ORCHESTRATOR
getStartNow 2 Swarm
docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
w9l0khipey4v getStartNow_visualizer replicated 1/1 dockersamples/visualizer:stable *:8080->8080/tcp
3yoifm7inujf getStartNow_web replicated 5/5 svezday/friendlyhello:part-1 *:80->80/tcp
AND HERE IS MY PROBLEM
curl http://192.168.99.100:80
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused
curl http://192.168.99.100:8080
curl: (7) Failed to connect to 192.168.99.100 port 8080: Connection refused
docker virtualbox docker-machine
add a comment |
I don't understand what I missed.
docker.compose.yml
version: "3"
services:
web:
# replace username/repo:tag with your name and image details
image: svezday/friendlyhello:part-1
deploy:
replicas: 5
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memory: 50M
ports:
- "80:80"
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
networks:
webnet:
Dockerfile
# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", "app.py"]
app.py
from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)
@app.route("/")
def hello():
try:
visits = redis.incr("counter")
except RedisError:
visits = "<i>cannot connect to Redis, counter disabled</i>"
html = "<h3>Hello {name}!</h3>" "<b>Hostname:</b> {hostname}<br/>" "<b>Visits:</b> {visits}"
return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
I'm on ubuntu 18, with vitualbox.
This is the vm
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 * virtualbox Running tcp://192.168.99.100:2376 v18.09.0
requirements.txt
Flask
Redis
myvm2 - virtualbox Running tcp://192.168.99.101:2376 Unknown Unable to query docker version: Get https://192.168.99.101:2376/v1.15/version: x509: certificate is valid for 192.168.99.103, not 192.168.99.101
docker-machine ssh myvm1
docker swarm init --advertise-addr 192.168.99.101:2377 getStartNow
docker-machine ssh myvm2
docker swarm join --token SWMTKN-1-29dkoqd6tskoqszzrdpcnw0nbmrgbrw9xr27yoxtvapodk6qmg-3tv01eh1ts0n97s5c5zq7q4ju 192.168.99.100:2377
docker-machine ssh myvm1
docker stack deploy -c docker.compose.yml getStartNow
docker stack ls
NAME SERVICES ORCHESTRATOR
getStartNow 2 Swarm
docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
w9l0khipey4v getStartNow_visualizer replicated 1/1 dockersamples/visualizer:stable *:8080->8080/tcp
3yoifm7inujf getStartNow_web replicated 5/5 svezday/friendlyhello:part-1 *:80->80/tcp
AND HERE IS MY PROBLEM
curl http://192.168.99.100:80
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused
curl http://192.168.99.100:8080
curl: (7) Failed to connect to 192.168.99.100 port 8080: Connection refused
docker virtualbox docker-machine
I don't understand what I missed.
docker.compose.yml
version: "3"
services:
web:
# replace username/repo:tag with your name and image details
image: svezday/friendlyhello:part-1
deploy:
replicas: 5
restart_policy:
condition: on-failure
resources:
limits:
cpus: "0.1"
memory: 50M
ports:
- "80:80"
networks:
- webnet
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
networks:
- webnet
networks:
webnet:
Dockerfile
# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", "app.py"]
app.py
from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)
@app.route("/")
def hello():
try:
visits = redis.incr("counter")
except RedisError:
visits = "<i>cannot connect to Redis, counter disabled</i>"
html = "<h3>Hello {name}!</h3>" "<b>Hostname:</b> {hostname}<br/>" "<b>Visits:</b> {visits}"
return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
I'm on ubuntu 18, with vitualbox.
This is the vm
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
myvm1 * virtualbox Running tcp://192.168.99.100:2376 v18.09.0
requirements.txt
Flask
Redis
myvm2 - virtualbox Running tcp://192.168.99.101:2376 Unknown Unable to query docker version: Get https://192.168.99.101:2376/v1.15/version: x509: certificate is valid for 192.168.99.103, not 192.168.99.101
docker-machine ssh myvm1
docker swarm init --advertise-addr 192.168.99.101:2377 getStartNow
docker-machine ssh myvm2
docker swarm join --token SWMTKN-1-29dkoqd6tskoqszzrdpcnw0nbmrgbrw9xr27yoxtvapodk6qmg-3tv01eh1ts0n97s5c5zq7q4ju 192.168.99.100:2377
docker-machine ssh myvm1
docker stack deploy -c docker.compose.yml getStartNow
docker stack ls
NAME SERVICES ORCHESTRATOR
getStartNow 2 Swarm
docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
w9l0khipey4v getStartNow_visualizer replicated 1/1 dockersamples/visualizer:stable *:8080->8080/tcp
3yoifm7inujf getStartNow_web replicated 5/5 svezday/friendlyhello:part-1 *:80->80/tcp
AND HERE IS MY PROBLEM
curl http://192.168.99.100:80
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused
curl http://192.168.99.100:8080
curl: (7) Failed to connect to 192.168.99.100 port 8080: Connection refused
docker virtualbox docker-machine
docker virtualbox docker-machine
asked Nov 23 '18 at 18:10
Svez DaySvez Day
295
295
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I had the same problem.
I followed Elavaud solution here and it worked for me.
So:
- I downloaded boot2docker.iso from here
Check active virtual-machine
docker-machine ls
destroy all virtual machines (myvm1 and myvm2)
docker-machine rm $(docker-machine ls -q)
Create again the virtual-machines specifying the path of your downloaded boot2docker.iso
docker-machine create --driver virtualbox --virtualbox-boot2docker-url path_to_your_boot2docker.iso virtual_machine_name
In my case the path was ~/Downloads/boot2docker.iso so i did
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm1
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm2
- Start again get started part-4
Last think, I saw your docker-compose.yml is differente from docker-compose.yml created in get_started part3. I don't know if that could be the problem.
In my case I used the same docker-compose.yml in get_started part3, so when I access to my app i use the port 4000
curl http://192.168.99.101:4000/
1
Thats right. Just to clarify the problem here, this is the root cause: 18.09.0 iso breaks swarm ingress. With current ISO any publishing of swarm ports in virtualbox created docker-machine VM's won't respond. As stated above the solution is to downgrade boot2docker.iso to v18.06.1-ce.
– Fernando D Jaime
Dec 15 '18 at 13:41
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%2f53451285%2fconnection-refused-on-docker-tutorial-get-started-part-4%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
I had the same problem.
I followed Elavaud solution here and it worked for me.
So:
- I downloaded boot2docker.iso from here
Check active virtual-machine
docker-machine ls
destroy all virtual machines (myvm1 and myvm2)
docker-machine rm $(docker-machine ls -q)
Create again the virtual-machines specifying the path of your downloaded boot2docker.iso
docker-machine create --driver virtualbox --virtualbox-boot2docker-url path_to_your_boot2docker.iso virtual_machine_name
In my case the path was ~/Downloads/boot2docker.iso so i did
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm1
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm2
- Start again get started part-4
Last think, I saw your docker-compose.yml is differente from docker-compose.yml created in get_started part3. I don't know if that could be the problem.
In my case I used the same docker-compose.yml in get_started part3, so when I access to my app i use the port 4000
curl http://192.168.99.101:4000/
1
Thats right. Just to clarify the problem here, this is the root cause: 18.09.0 iso breaks swarm ingress. With current ISO any publishing of swarm ports in virtualbox created docker-machine VM's won't respond. As stated above the solution is to downgrade boot2docker.iso to v18.06.1-ce.
– Fernando D Jaime
Dec 15 '18 at 13:41
add a comment |
I had the same problem.
I followed Elavaud solution here and it worked for me.
So:
- I downloaded boot2docker.iso from here
Check active virtual-machine
docker-machine ls
destroy all virtual machines (myvm1 and myvm2)
docker-machine rm $(docker-machine ls -q)
Create again the virtual-machines specifying the path of your downloaded boot2docker.iso
docker-machine create --driver virtualbox --virtualbox-boot2docker-url path_to_your_boot2docker.iso virtual_machine_name
In my case the path was ~/Downloads/boot2docker.iso so i did
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm1
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm2
- Start again get started part-4
Last think, I saw your docker-compose.yml is differente from docker-compose.yml created in get_started part3. I don't know if that could be the problem.
In my case I used the same docker-compose.yml in get_started part3, so when I access to my app i use the port 4000
curl http://192.168.99.101:4000/
1
Thats right. Just to clarify the problem here, this is the root cause: 18.09.0 iso breaks swarm ingress. With current ISO any publishing of swarm ports in virtualbox created docker-machine VM's won't respond. As stated above the solution is to downgrade boot2docker.iso to v18.06.1-ce.
– Fernando D Jaime
Dec 15 '18 at 13:41
add a comment |
I had the same problem.
I followed Elavaud solution here and it worked for me.
So:
- I downloaded boot2docker.iso from here
Check active virtual-machine
docker-machine ls
destroy all virtual machines (myvm1 and myvm2)
docker-machine rm $(docker-machine ls -q)
Create again the virtual-machines specifying the path of your downloaded boot2docker.iso
docker-machine create --driver virtualbox --virtualbox-boot2docker-url path_to_your_boot2docker.iso virtual_machine_name
In my case the path was ~/Downloads/boot2docker.iso so i did
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm1
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm2
- Start again get started part-4
Last think, I saw your docker-compose.yml is differente from docker-compose.yml created in get_started part3. I don't know if that could be the problem.
In my case I used the same docker-compose.yml in get_started part3, so when I access to my app i use the port 4000
curl http://192.168.99.101:4000/
I had the same problem.
I followed Elavaud solution here and it worked for me.
So:
- I downloaded boot2docker.iso from here
Check active virtual-machine
docker-machine ls
destroy all virtual machines (myvm1 and myvm2)
docker-machine rm $(docker-machine ls -q)
Create again the virtual-machines specifying the path of your downloaded boot2docker.iso
docker-machine create --driver virtualbox --virtualbox-boot2docker-url path_to_your_boot2docker.iso virtual_machine_name
In my case the path was ~/Downloads/boot2docker.iso so i did
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm1
docker-machine create --driver virtualbox --virtualbox-boot2docker-url ~/Downloads/boot2docker.iso myvm2
- Start again get started part-4
Last think, I saw your docker-compose.yml is differente from docker-compose.yml created in get_started part3. I don't know if that could be the problem.
In my case I used the same docker-compose.yml in get_started part3, so when I access to my app i use the port 4000
curl http://192.168.99.101:4000/
answered Nov 24 '18 at 23:18
Rachid GRachid G
962
962
1
Thats right. Just to clarify the problem here, this is the root cause: 18.09.0 iso breaks swarm ingress. With current ISO any publishing of swarm ports in virtualbox created docker-machine VM's won't respond. As stated above the solution is to downgrade boot2docker.iso to v18.06.1-ce.
– Fernando D Jaime
Dec 15 '18 at 13:41
add a comment |
1
Thats right. Just to clarify the problem here, this is the root cause: 18.09.0 iso breaks swarm ingress. With current ISO any publishing of swarm ports in virtualbox created docker-machine VM's won't respond. As stated above the solution is to downgrade boot2docker.iso to v18.06.1-ce.
– Fernando D Jaime
Dec 15 '18 at 13:41
1
1
Thats right. Just to clarify the problem here, this is the root cause: 18.09.0 iso breaks swarm ingress. With current ISO any publishing of swarm ports in virtualbox created docker-machine VM's won't respond. As stated above the solution is to downgrade boot2docker.iso to v18.06.1-ce.
– Fernando D Jaime
Dec 15 '18 at 13:41
Thats right. Just to clarify the problem here, this is the root cause: 18.09.0 iso breaks swarm ingress. With current ISO any publishing of swarm ports in virtualbox created docker-machine VM's won't respond. As stated above the solution is to downgrade boot2docker.iso to v18.06.1-ce.
– Fernando D Jaime
Dec 15 '18 at 13:41
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%2f53451285%2fconnection-refused-on-docker-tutorial-get-started-part-4%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