2015-07-13 4 views
0

Итак, в настоящее время я создаю API на PHP как различные (микро) службы, которые работают на nginx.Не могу понять, как мне построить архитектуру Docker

Я следил за всеми основными видеороликами Docker и прошел через документы, но я до сих пор не могу понять, как его реализовать.

  • Нужен ли мне сервер, на котором я нажимаю свой код и развертываю его в контейнерах (с помощью CI или около того)?
  • Содержит ли объем контейнера в концентраторе? Итак, мой код будет в самом контейнере?

ответ

0

Я думаю, что вы немного испортили, что такое контейнер и каково изображение. Для меня изображение - это то, что вы строите на диске для запуска. И контейнер - это изображение, работающее на компьютере и работающее/работающее.

ли мне нужен сервер, где я нажимаю мой код и разворачивать на контейнеры

Нет, вы не знаете. Вы начинаете создавать изображение с некоторого базового изображения и из файла Docker. Поэтому сделайте некоторый рабочий каталог, скопируйте Dockerfile здесь, скопируйте свои источники PHP здесь как PHPAPI, а в Dockerfile - команды для копирования PHP в докер. Вдоль линий

FROM ubuntu:15.04 
MAINTAINER guidsen 

RUN apt-get update && \ 
    apt-get install -y nginx && \ 
    apt-get install -y php && \ 
    apt-get autoremove; apt-get clean; apt-get autoclean 

RUN mkdir -p /root/PHPAPI 
COPY PHPAPI /root/PHPAPI 

WORKDIR /root/PHPAPI 
CMD /root/PHPAPI/main.php 

ли объем контейнера получить толкнул к ступице, а? Итак, мой код будет в самом контейнере?

Это зависит от того, что вы используете для запуска контейнеров из изображения. AWS Я думаю, что требуется изображение, снятое с узла Docker, поэтому сначала нужно нажать его здесь. Некоторые другие провайдеры облачных вычислений или частные облака требуют прямого доступа к ним. И да, ваш код будет на изображении и будет запущен в контейнере.

+0

Итак, у каждого сервиса снова будет nginx? Разве не лучше иметь один контейнер nginx и связать его с вашими услугами? – guidsen

+0

@guidsen - вот вопрос, на который я не могу ответить, я понятия не имею о вашей желаемой архитектуре. Скажем, вы хотите, чтобы PHPAPI + nginx подключился к базе данных. Хорошей реализацией будет изображение с PHP + nginx, другое изображение с движком базы данных и еще один чистый образ данных с таблицами db. Когда вы запустите его, вы получите один контейнер с OHO + nginx, несколько контейнеров с базами данных и несколько контейнеров данных –

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