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

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 и связать их с вашим).

  • Инструкции Samba работают на CentOS 6.5, но не CentOS 6.3 - разрешения в Windows разные
  • Определение виртуальных хостов Centos apache
  • mdadm: / dev / md0 собран из 3 дисков - недостаточно для запуска массива
  • как перенаправить трафик на туннель ipsec vpn, созданный с помощью openswan?
  • Установите беспроводной сетевой адаптер на Centos 7
  • Установка постфикса из репозитория centosplus «Не удалось разрешить хост: mirror.linode.com; Неизвестная ошибка"
  • Отсутствует / dev / ram0 / dev / ram1 и / proc / kcore
  • Как подключиться к сети Ethernet при подключении к сети без сетевого менеджера (на CentOS 7)
  • сделать постоянный виртуальный интерфейс?
  • Как исправить установку openvpn на CentOS 7?
  • Зачем ставить некоторую конфигурационную информацию в conf / httpd.conf и некоторые из файлов в папке conf.d?
  • Interesting Posts

    Создать список папок с совпадающим (но не идентичным) концом

    Ошибка LLVM вместо 3D-ускорения в стабильной Debian

    Получение данных под или над строкой

    Как получить список доступных беспроводных сетей без root

    Как я могу узнать, какие приложения будут «работать» в моей среде рабочего стола (Gnome 3)?

    Q: Mopidy-spotify запускается, но не может использовать его с помощью телефона или ноутбука

    Grub2 не может загрузить зашифрованный корень

    Почему абсолютная символическая ссылка на долю SAMBA напрямую связана с монтированием CIFS?

    Как использовать Quicken Home Inventory в Linux (или Windows 7)

    Как я могу найти текстовое шоу на экране при загрузке linux? Это не то же самое, что dmesg показывает

    Извлечение файлов в текущий каталог

    Можете ли вы использовать команды blacklist через SSH?

    Mplayer cronjob не работает

    Wget или скручивание самозаверяющего сертификата с сервера

    ssh-agent не работает должным образом

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