Docker: различия между версиями
Перейти к навигации
Перейти к поиску
Vovan (обсуждение | вклад) |
Vovan (обсуждение | вклад) (→Создание контейнера для разработки приложения на Lazarus) |
||
| Строка 3: | Строка 3: | ||
fixme | fixme | ||
==Создание контейнера для разработки приложения на Lazarus== | ==Создание контейнера для разработки приложения на Lazarus== | ||
| + | |||
| + | Откройте терминал хостовой машины и создайте рабочий каталог | ||
| + | |||
| + | mkdir docker | ||
| + | |||
| + | Перейдите в рабочий каталог | ||
| + | |||
| + | cd docker | ||
| + | |||
| + | В рабочем каталоге содайте файл | ||
| + | |||
| + | Dockerfile_dev | ||
| + | |||
| + | по следующему шаблону (в файле нужно изменить имя и емэйл разработчика на собственное): | ||
| + | |||
| + | <pre> | ||
| + | FROM ubuntu:16.04 | ||
| + | MAINTAINER Vasya I Pupkin <vasya@pupkin.com> | ||
| + | |||
| + | ENV DEBIAN_FRONTEND noninteractive | ||
| + | ENV USER vasya | ||
| + | ENV HOME /home/$USER | ||
| + | |||
| + | # Create new user for vnc login. | ||
| + | RUN adduser $USER --disabled-password | ||
| + | |||
| + | # Install MATE and dependency component. | ||
| + | RUN apt-get update \ | ||
| + | && apt-get install -y \ | ||
| + | tightvncserver \ | ||
| + | mate-core mate-desktop-environment mate-notification-daemon \ | ||
| + | supervisor \ | ||
| + | net-tools \ | ||
| + | curl \ | ||
| + | git \ | ||
| + | pwgen \ | ||
| + | lazarus \ | ||
| + | && apt-get autoclean \ | ||
| + | && apt-get autoremove \ | ||
| + | && rm -rf /var/lib/apt/lists/* | ||
| + | |||
| + | # Clone noVNC. | ||
| + | RUN git clone https://github.com/novnc/noVNC.git $HOME/noVNC | ||
| + | |||
| + | # Clone websockify for noVNC | ||
| + | Run git clone https://github.com/kanaka/websockify $HOME/noVNC/utils/websockify | ||
| + | |||
| + | # Download ngrok. | ||
| + | ADD https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip $HOME/ngrok/ngrok.zip | ||
| + | RUN unzip -o $HOME/ngrok/ngrok.zip -d $HOME/ngrok && rm $HOME/ngrok/ngrok.zip | ||
| + | |||
| + | # Copy supervisor config. | ||
| + | COPY supervisor.conf /etc/supervisor/conf.d/ | ||
| + | |||
| + | # Copy startup script. | ||
| + | COPY startup.sh $HOME | ||
| + | |||
| + | EXPOSE 6080 5901 4040 | ||
| + | </pre> | ||
==Создание контейнера для запуска приложения на Lazarus== | ==Создание контейнера для запуска приложения на Lazarus== | ||
Версия 22:57, 13 октября 2020
Содержание
Лабораторные работы по Docker
Создание простого контейнера
fixme
Создание контейнера для разработки приложения на Lazarus
Откройте терминал хостовой машины и создайте рабочий каталог
mkdir docker
Перейдите в рабочий каталог
cd docker
В рабочем каталоге содайте файл
Dockerfile_dev
по следующему шаблону (в файле нужно изменить имя и емэйл разработчика на собственное):
FROM ubuntu:16.04
MAINTAINER Vasya I Pupkin <vasya@pupkin.com>
ENV DEBIAN_FRONTEND noninteractive
ENV USER vasya
ENV HOME /home/$USER
# Create new user for vnc login.
RUN adduser $USER --disabled-password
# Install MATE and dependency component.
RUN apt-get update \
&& apt-get install -y \
tightvncserver \
mate-core mate-desktop-environment mate-notification-daemon \
supervisor \
net-tools \
curl \
git \
pwgen \
lazarus \
&& apt-get autoclean \
&& apt-get autoremove \
&& rm -rf /var/lib/apt/lists/*
# Clone noVNC.
RUN git clone https://github.com/novnc/noVNC.git $HOME/noVNC
# Clone websockify for noVNC
Run git clone https://github.com/kanaka/websockify $HOME/noVNC/utils/websockify
# Download ngrok.
ADD https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip $HOME/ngrok/ngrok.zip
RUN unzip -o $HOME/ngrok/ngrok.zip -d $HOME/ngrok && rm $HOME/ngrok/ngrok.zip
# Copy supervisor config.
COPY supervisor.conf /etc/supervisor/conf.d/
# Copy startup script.
COPY startup.sh $HOME
EXPOSE 6080 5901 4040