Docker: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Создание контейнера для разработки приложения на 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

Создание контейнера для запуска приложения на Lazarus