2016-08-22 6 views
3

Docker новичок здесь. Я использую этот учебник в качестве примера: http://coding.jandavid.de/2016/01/22/dockerizing-sinatra/Почему докер-машина отображает пустой список?

Я нахожусь на Mac работает El Cap. Запуск последнего Docker для Mac.

Я создал 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 

Затем я проверил для запуска контейнеров. Никто. Как и следовало ожидать: $ Докер-машина LS NAME ACTIVE DRIVER ГОСУДАРСТВЕННЫХ URL SWARM Docker ОШИБОК $

Далее я запустить контейнер:

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 
$ 

Вопрос: Почему я не показывает бегущую контейнер?

СПАСИБО!

ответ

8

Docker machine предназначен для настройки удаленных хостов докеров, включая те, которые используются внутри виртуальной машины Windows и MacOS до выпуска 1.12. Поскольку вы находитесь на докере CLI и разговариваете с движком, вам не нужна докерная машина.

Чтобы увидеть ваши беговые контейнеры, используйте docker ps, включите аргумент -a, чтобы также показать выведенные контейнеры, которые еще не удалены. И чтобы увидеть ваше построенное изображение, это docker images. Посмотрите на docker user guide для получения дополнительной информации о запуске докера.

Смежные вопросы