Изображение Docker

Я хочу создать собственное изображение докеров. Я использую Dockerfile для его создания и хочу запускать только httpd server и mysql client. ниже можно увидеть мой файл редактирования. Правильно ли мой файл Dockerfile?

# Dockerfile that modifies oraclelinux:6.6 to include an Apache HTTP server FROM ubuntu:14.04 RUN apt-get -y install apache2 RUN echo "HTTP server running on guest" > /var/www/html/index.html EXPOSE 80 RUN apt-get -y install mysql-client EXPOSE 3306 

  • LFTP исключает расширения файлов
  • Установка Mono Project Offline на Centos 7.0
  • Stunnel: как игнорировать дату истечения срока действия сертификата
  • Выделение ресурсов для VPS
  • ps - в чем разница между -o comm и -o командой?
  • Постоянная проблема маршрутизации CentOS 7?
  • Выполнение PHP с помощью CronJobs в CentOS 6.4 не работает?
  • Как узнать имя процесса, которое открывает порт tcp?
  • One Solution collect form web for “Изображение Docker”

    Нет, это не так, как вы должны иметь CMD для запуска в конце.

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

    • вы не должны запускать apt-get несколько раз
    • вы должны запустить apt-get update перед запуском apt-get install
    • вы должны очистить после запуска apt-get install
    • вы должны включить сопровождающего

    Попробуйте что-нибудь вроде:

     # Dockerfile that modifies oraclelinux:6.6 to include an Apache HTTP server FROM ubuntu:14.04 MAINTAINER Supun Rathnayake RUN apt-get update && apt-get install -y \ apache2 \ mysql-client \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* RUN echo "HTTP server running on guest" > /var/www/html/index.html EXPOSE 80 EXPOSE 3306 CMD ["your command to run apache"] 

    Вероятно, вам стоит посмотреть на докер-концентратор для проекта apache2 с большим количеством загрузок и проанализировать его Dockerfile, что очень поучительно.

    В принципе вы можете запустить клиент mysql в одном контейнере, но для этого, вероятно, требуется, чтобы какой-то планировщик запускал как ваш apache, так и демон mysql. В качестве альтернативы вы должны посмотреть, как разместить mysql где-то в другом месте (или использовать один из стандартных контейнеров из Dockerhub и связать их с вашим).

    Linux и Unix - лучшая ОС в мире.