Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is docker-machine displaying an empty list?

Tags:

docker

Docker newbie here. I am using this tutorial as an example.

I am on a Mac running El Cap. Running the latest Docker for mac.

I created a docker image

$ docker build -t pitosalas/sinatra-example .
Sending build context to Docker daemon 9.728 kB
Step 1 : FROM phusion/passenger-ruby23:0.9.19
 ---> 6841e494987f
Step 2 : ENV HOME /root
 ---> Using cache
 ---> 94013634dd29
Step 3 : CMD /sbin/my_init
 ---> Using cache
 ---> 545db4245647
Step 4 : RUN rm -f /etc/service/nginx/down
 ---> Using cache
 ---> 1a5361bf707b
Step 5 : RUN rm /etc/nginx/sites-enabled/default
 ---> Using cache
 ---> 6d884a990bd7
Step 6 : ADD docker/vhost.conf /etc/nginx/sites-enabled/app.conf
 ---> Using cache
 ---> 471fcf124466
Step 7 : RUN mkdir /home/app/webapp
 ---> Using cache
 ---> a0336183d1f0
Step 8 : WORKDIR /tmp
 ---> Using cache
 ---> 38b834783e4f
Step 9 : COPY app/Gemfile /tmp/
 ---> Using cache
 ---> 6541c0cbf6eb
Step 10 : COPY app/Gemfile.lock /tmp/
 ---> Using cache
 ---> 1be89d7bd57b
Step 11 : RUN bundle install
 ---> Using cache
 ---> 3b21f88e6bcf
Step 12 : COPY app /home/app/webapp
 ---> Using cache
 ---> 8bc0cb084d99
Step 13 : RUN chown -R app:app /home/app
 ---> Using cache
 ---> 4bba23481f1f
Step 14 : RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 ---> Using cache
 ---> d85a89da09c2
Successfully built d85a89da09c2

Then I checked for running containers. None. As expected:

$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE   URL   SWARM   DOCKER   ERRORS
$ 

Next I run the container:

docker run -p 4567:80 pitosalas/sinatra-example
*** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...
*** Running /etc/my_init.d/30_presetup_nginx.sh...
*** Running /etc/rc.local...
*** Booting runit daemon...
*** Runit started as PID 8
Aug 22 02:07:22 dd3474178cd5 syslog-ng[18]: syslog-ng starting up; version='3.5.6'
ok: run: /etc/service/nginx-log-forwarder: (pid 27) 0s
[ 2016-08-22 02:07:23.8489 28/7fc94dfd9780 age/Wat/WatchdogMain.cpp:1291 ]: Starting Passenger watchdog...
[ 2016-08-22 02:07:23.8769 31/7f07e849d780 age/Cor/CoreMain.cpp:982 ]: Starting Passenger core...
[ 2016-08-22 02:07:23.8770 31/7f07e849d780 age/Cor/CoreMain.cpp:235 ]: Passenger core running in multi-application mode.
[ 2016-08-22 02:07:23.8842 31/7f07e849d780 age/Cor/CoreMain.cpp:732 ]: Passenger core online, PID 31
[ 2016-08-22 02:07:23.9104 42/7f66f0bb5780 age/Ust/UstRouterMain.cpp:529 ]: Starting Passenger UstRouter...
[ 2016-08-22 02:07:23.9155 42/7f66f0bb5780 age/Ust/UstRouterMain.cpp:342 ]: Passenger UstRouter online, PID 42

Looks ok, but:

$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE   URL   SWARM   DOCKER   ERRORS
$

Still no containers. Here are some more files:

[Dockerfile]
FROM phusion/passenger-ruby23:0.9.19

# Set correct environment variables.
ENV HOME /root

# Use baseimage-docker's init process.
CMD ["/sbin/my_init"]

# Enable nginx and Passenger
RUN rm -f /etc/service/nginx/down

# Remove the default site
RUN rm /etc/nginx/sites-enabled/default

# Create virtual host
ADD docker/vhost.conf /etc/nginx/sites-enabled/app.conf

# Prepare folders
RUN mkdir /home/app/webapp

# Run Bundle in a cache efficient way
WORKDIR /tmp
COPY app/Gemfile /tmp/
COPY app/Gemfile.lock /tmp/
RUN bundle install

# Add our app
COPY app /home/app/webapp
RUN chown -R app:app /home/app

# Clean up when done.
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

Also

[vhost.conf]
server {
    listen 80;
    server_name localhost;
    root /home/app/webapp/public;

    passenger_enabled on;
    passenger_user app;

    passenger_ruby /usr/bin/ruby2.3;
}

Here's the directory tree I am working with:

$ tree
.
├── Dockerfile
├── app
│   ├── Gemfile
│   ├── Gemfile.lock
│   ├── app.rb
│   └── config.ru
├── docker
│   └── vhost.conf
└── tmp

3 directories, 6 files
$

Why am I not showing a running container?

like image 553
pitosalas Avatar asked Aug 22 '16 02:08

pitosalas


People also ask

How do I clean up all docker images?

Remove all images All the Docker images on a system can be listed by adding -a to the docker images command. Once you're sure you want to delete them all, you can add the -q flag to pass the image ID to docker rmi : List: docker images -a.


1 Answers

Docker machine is for configuring remote docker hosts, including those used inside a VM by Windows and MacOS before the 1.12 release. Since you're on the docker CLI and talking to the engine, you don't need docker machine.

To see your running containers, use docker ps, include the -a argument to also show exited containers that haven't been removed yet. And to see your built image, that's docker images. Have a look at the docker user guide for more information on running docker.

like image 123
BMitch Avatar answered Sep 23 '22 02:09

BMitch