为什么docker机显示一个空的列表?

Docker新手在这里。 我以本教程为例: http : //coding.jandavid.de/2016/01/22/dockerizing-sinatra/

我在运行El Cap的Mac上。 运行最新的Docker for Mac。

我创build了一个docker形象

$ 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 

然后我检查运行的容器。 没有。 正如所料:$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS $

接下来我运行容器:

 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 

看起来不错,但是:

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

还没有容器。 这里是一些更多的文件:

 [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/* 

 [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; } 

这是我正在使用的目录树:

 $ tree . ├── Dockerfile ├── app │  ├── Gemfile │  ├── Gemfile.lock │  ├── app.rb │  └── config.ru ├── docker │  └── vhost.conf └── tmp 3 directories, 6 files $ 

问题:为什么我不显示正在运行的容器?

谢谢!

Docker机器用于configuration远程Docker主机,包括Windows和MacOS在1.12版本之前在VM内使用的主机。 既然你在Docker CLI上并且和引擎交谈,你不需要docker机器。

要查看正在运行的容器,请使用docker ps ,包含-a参数以显示尚未被移除的退出容器。 而看到你的build立的形象,这是docker images 。 查看泊坞窗用户指南 ,了解有关运行泊坞窗的更多信息。