Изображение 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 

  • Установка Audacity - проблемы с пакетом
  • kickstart загрузчик --driveorder конфигурации
  • Сервер Apache не запускается на CentOS
  • как извлечь файл .z из старого QNX в Centos
  • Что делает «-y» в «yum -y groupinstall gnome»?
  • Как ограничить rm -rf / в машине CentOS?
  • Где настройки модуля prefork.c в Centos 7?
  • Почему «cat useradd» преуспевает в этом случае?
  • 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 и связать их с вашим).

    Interesting Posts

    Принудительный IPv4 по IPv6 только для определенных адресов

    Как смонтировать образ диска из командной строки?

    Сохранить настройку двойного монитора на KDE debian 8

    mongodb service не запускается, что такое pid for mongodb по умолчанию?

    Запуск работы в рубине

    X: alt / ctrl / f1 больше не работает после выключения и включения дисплея с помощью xrandr

    Bash: замена процесса и stdin

    Изменение разрешений для файлов, созданных службой демона докеров

    Как изменить высоту заголовка в стандартных приложениях GTK и тех, у кого есть заголовки / CSD на Gnome 3.20

    В чем разница между fork () и vfork ()?

    Различные флаги USE для двоичного пакета сервера и хоста

    Как получить пароль без пароля ssh между любыми двумя узлами в кластере серверов

    Каков результат запуска `chmod 7` в файле?

    пытаясь установить curl с homebrew, получив «несовместимую версию библиотеки» для libcurl.4.dylib

    Монтирование образа диска в исходном формате

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