Я думаю, что вы немного испортили, что такое контейнер и каково изображение. Для меня изображение - это то, что вы строите на диске для запуска. И контейнер - это изображение, работающее на компьютере и работающее/работающее.
ли мне нужен сервер, где я нажимаю мой код и разворачивать на контейнеры
Нет, вы не знаете. Вы начинаете создавать изображение с некоторого базового изображения и из файла 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, поэтому сначала нужно нажать его здесь. Некоторые другие провайдеры облачных вычислений или частные облака требуют прямого доступа к ним. И да, ваш код будет на изображении и будет запущен в контейнере.
Итак, у каждого сервиса снова будет nginx? Разве не лучше иметь один контейнер nginx и связать его с вашими услугами? – guidsen
@guidsen - вот вопрос, на который я не могу ответить, я понятия не имею о вашей желаемой архитектуре. Скажем, вы хотите, чтобы PHPAPI + nginx подключился к базе данных. Хорошей реализацией будет изображение с PHP + nginx, другое изображение с движком базы данных и еще один чистый образ данных с таблицами db. Когда вы запустите его, вы получите один контейнер с OHO + nginx, несколько контейнеров с базами данных и несколько контейнеров данных –