2017-01-28 7 views
0

Я довольно новичок в Docker, и, пытаясь установить пакеты через «Dockerfile», я заметил, что шаги сборки проходят, но когда я подключаюсь к докер и загрузить оболочку, ни один из пакетов не был установлен.Docker - centos 7 CMD yum команды запускаются, но не устанавливают

Config:

FROM centos:latest 
CMD yum -y install epel-release 
CMD yum -y install collectd 

Строительные шаги:

Sending build context to Docker daemon 40.45 kB 
Step 1/3 : FROM centos:latest 
---> 67591570dd29 
Step 2/3 : CMD yum -y install epel-release 
---> Using cache 
---> 4148233bce10 
Step 3/3 : CMD yum -y install collectd 
---> Using cache 
---> 62998bf2ce0f 

При подключении к докер установлен ни пакет, но я могу установить пакеты в докер:

[[email protected] monitoringDocker]# docker exec -it 0579169abb44 bash 
[[email protected] /]# yum -y install epel-release 
Loaded plugins: fastestmirror, ovl 
base 

Пожалуйста, помогите!

ответ

3

Использование как

FROM centos:latest 
RUN \ 
    yum -y install epel-release && \ 
    yum -y install collectd 

ИЛИ

FROM centos:latest 
RUN yum -y install epel-release collectd 

RUN:

инструкция RUN позволяет устанавливать приложения и пакеты воздаяние за него. Он выполняет любые команды поверх текущего изображения и создает новый слой, фиксируя результаты.

CMD:

CMD инструкция позволяет установить команду по умолчанию, который будет выполняться только при запуске контейнера без указания команды. Если контейнер Docker работает с командой, команда по умолчанию будет проигнорирована.

+0

Большое спасибо! – Xerphiel