Создаем Dockerfile :
Code Block | ||
---|---|---|
| ||
FROM debian
# fix locales for tmux
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8
ENV LANG en_US.UTF-8
# Install pre-reqs
RUN apt-get update && apt-get install -yq wget
RUN apt-get install -yq openssh-server nano
# s6 + prereqz
ADD https://github.com/just-containers/s6-overlay/releases/download/v1.21.7.0/s6-overlay-amd64.tar.gz /tmp/
RUN gunzip -c /tmp/s6-overlay-amd64.tar.gz | tar -xf - -C /
RUN apt-get install mariadb-server libmariadbclient-dev libmariadbclient-dev-compat -yq
RUN apt-get install -yq apache2
RUN apt-get install linux-headers-`uname -r` -yq
RUN mkdir -p /etc/services.d/mysqld
RUN echo '#!/usr/bin/execlineb -P' > /etc/services.d/mysqld/run
RUN echo 'mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/x86_64-linux-gnu/mariadb18/plugin --user=mysql --skip-log-error --port=3306' >> /etc/services.d/mysqld/run
RUN mkdir /var/run/mysqld/
RUN chown -R mysql. /var/run/mysqld/
RUN mkdir -p /etc/services.d/apache2
RUN echo '#!/usr/bin/execlineb -P' > /etc/services.d/apache2/run
RUN echo 'apache2ctl -DFOREGROUND' >> /etc/services.d/apache2/run
# download auto-installer distrib pkg
WORKDIR /root
RUN wget https://github.com/nabat/AInstall/archive/master.tar.gz
RUN tar zxvf master.tar.gz
RUN apt-get install linux-headers-`uname -r` -yq |
Для корректной установки accel-ppp необходимо установить на docker host следующие пакеты :
Code Block | ||
---|---|---|
| ||
apt-get install linux-headers-`uname -r` isc-dhcp git make vlan libnl-utils gcc cmake git libcrypto++-dev libcrypto++-utils lua5.1 liblua5.1-0-dev libpcre++-dev libpcre3 libsnmp-dev iftop iptraf ipset libipset-dev |
Запускаем билд контейнера, запускаем сам контейнер :
Code Block | ||
---|---|---|
| ||
docker build . -t "abills-docker" docker run --privileged --cap-add=ALL -v /lib/modules:/lib/modules -v /dev/:/dev -v /usr/src:/usr/src -p28882:22 -p9443:9443 -it abills-docker |
Переменная | Значение |
---|---|
--privileged | запуск контейнера с раширенными привилегиями |
--cap-add=ALL | включить все Linux capabilities |
-v /lib/modules:/lib/modules -v /dev/:/dev -v /usr/src:/usr/src | бинды директорий хост:контейнер |
-p28882:22 -p9443:9443 | переназначаем ssh , https порты |
-it | после запуска контейнера попадаем сразу в него |
abills-docker | имя контейнера который мы сделали |
Внутри контейнера запускаем авто-инсталл :
Code Block | ||
---|---|---|
| ||
cd AInstall-master && ./install.sh |
Подробнее о скрипте автоматической установки информация тут .
После настройки и внесенных изменений, контейнер для последующего использования можем сохранить :
ищем имя нашего контейнера
Code Block language bash root@debian9:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 647d8bbeae55 abills-docker-infinity "bash" 3 hours ago Exited (0) 21 seconds ago dazzling_stuff ....
комитаем (сохраняем) контейнер
Code Block language bash root@debian9:~# docker commit dazzling_stuff abills-infinitydocker sha256:e879adab2fe3603221bf91931ae4666012caa40c1704a2cb913fa36cb814254d
ищем образ контейнера
Code Block language bash root@debian9:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE abills-infinitydocker latest e879adab2fe3 About a minute ago 1.06GB abills infinity 5e5b5a527c30 6 minutes ago 1.06GB ppp.1.5 build 431e07e8b8d3 58 minutes ago 1.54GB ....
сохраняем в докер гитхабе
Code Block language bash root@debian9:~# docker tag abills-infinitydocker пользователь_докергитхаба/abills-infinitydocker root@debian9:~# docker push пользователь_докергитхаба/abills-infinitydocker The push refers to repository [docker.io/пользователь_докергитхаба/abills-infinitydocker] b003adea409b: Pushed 59ff3846a853: Pushed 6eb2d1b2798b: Pushed d6cc4ca1b923: Pushed 049bd9ef1947: Pushed f715ed19c28b: Mounted from library/debian latest: digest: sha256:1b9a87711066aadb1795ea970be714d28f18cd9fb0db393f33b2074b1287a499 size: 1587