If you encounter some problem when you're setting up a new Beanstalk Docker app, the first thing to do is to download and take a look at the log files. But what if you still can't figure out what's wrong? Or what if you know what the problem is, and you want to just make some minor change to the container with
docker exec? In that case you should SSH to one app's EC2 instances and use the
docker command. The problem is that it will not work at first:
$ docker ps Cannot connect to the Docker daemon. Is the docker daemon running on this host?
It's actually quite easy to fix:
$ sudo gpasswd -a ec2-user docker
Then you just have to logout by terminating the SSH connection and then connect again.
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 13fb72871a59 2feee65ba700 "bash /start.sh" 35 minutes ago Up 35 minutes 80/tcp amazing_varahamihira
You can now start a bash session on the container with command:
$ docker exec -it 13fb72871a59 bash
Add group automatically
By adding the following to a
.config file in your
.ebextensions folder of the source bundle, you will add
docker group automatically:
commands: 0_add_docker_group_to_ec2_user: command: gpasswd -a ec2-user docker test: groups ec2-user | grep -qv docker
I hope you find this useful when setting up and troubleshooting your Beanstalk app.