Skip to content

Instantly share code, notes, and snippets.

@blockspacer
Forked from Neisoweli/REPORT.md
Created June 5, 2020 08:40
Show Gist options
  • Save blockspacer/3de0b554fd69a8c81820de481109b373 to your computer and use it in GitHub Desktop.
Save blockspacer/3de0b554fd69a8c81820de481109b373 to your computer and use it in GitHub Desktop.
Lab13.Report

Laboratory work XIII Build Status

Данная лабораторная работа посвещена изучению систем автоматизации развёртывания и управления приложениями на примере Docker

$ open https://docs.docker.com/get-started/

Tasks

  • 1. Создать новую ветку с наименованием lab13 в репозитории Labs на сервисе GitHub
  • 2. Ознакомиться со ссылками учебного материала
  • 3. Выполнить инструкцию учебного материала
  • 4. Составить отчет и отправить ссылку личным сообщением в Slack

Tutorial

Устанавливаем переменную окружения GITHUB_USERNAME

$ export GITHUB_USERNAME=<имя_пользователя>

Скачиваем данные из репозитория Labs и создаем новую ветку lab13

$ git clone https://github.com/${GITHUB_USERNAME}/lab12 lab13
$ cd lab13
$ git checkout lab12
$ git checkout -b lab13

Устанавливаем Docker

$ # for Ubuntu 17.10
$ 
$ sudo apt-get install docker.io
$ docker --version
Docker version 18.03.0-ce, build 0520e24

Создаем конфигурационный файл для Docker

$ cat > Dockerfile <<EOF
FROM ubuntu:16.04 # устанавливаем среду выполнения
RUN apt update # запускаем обновление системы
RUN apt install -yy gcc g++ cmake # устанавливаем необходимые инструменты
COPY . print/ 
WORKDIR print # устанавливаем директорию для последующей работы
RUN cmake -H. -B_build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=_install # запускаем сборку
RUN cmake --build _build
RUN cmake --build _build --target install
ENV LOG_PATH /home/logs/log.txt # устанавливаем переменную окружения, в которой находится лог-файл
VOLUME /home/logs # устанавливаем путь для сохранения данных
WORKDIR _install/bin
CMD ./demo # запускаем собранный проект
EOF

Инициализируем сборку образа с имененм logger

$ docker build -t logger .

Просматриваем существующие образы

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
logger              latest              7fabdac96545        About a minute ago   367MB
ubuntu              16.04               f975c5035748        3 weeks ago          112MB

Инициализируем работу контейнера на образе logger

$ mkdir logs
$ docker run -it -v "$(pwd)/logs/:/home/logs/" logger
text1
text2
text3
<C-D>

Выводим информацию об объектах образа

$ docker inspect logger

Просматриваем существующие контейнеры и какие образы они используют

$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND               CREATED             STATUS                      PORTS               NAMES
714d05351340        logger              "/bin/sh -c ./demo"   17 minutes ago      Exited (0) 16 minutes ago                       festive_northcutt

Просматриваем содержимое файла log.txt

$ cat logs/log.txt

Вносим изменения в файл README.md

$ vim README.md
:s/lab12/lab13/g<CR>
:wq

Вносим изменения в файл .travis.yml

$ vim .travis.yml
/lang<CR>o
services:
  - docker<ESC>
jVGddo
script:
  - docker build -t logger .<ESC>

Отправляем измененные файлы в репозиторий

$ git add Dockerfile
$ git add .travis.yml
$ git commit -m"adding Dockerfile"
$ git push origin master

Инициализируем сборку в TravisCI

$ travis login --auto
$ travis enable

Links

Copyright (c) 2017 Братья Вершинины
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment