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?
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With