Skip to content

Latest commit

 

History

History
49 lines (40 loc) · 2.36 KB

readme_for_docker.md

File metadata and controls

49 lines (40 loc) · 2.36 KB

Запуск ЛР по си из-под докера

Для начала создадим Dockerfile

FROM ubuntu
RUN apt-get update && apt-get -y install \
    git gcc clang clang-tools gdb \
    valgrind check make ffmpeg \
    shellcheck python3.12

WORKDIR /labs

Создадим Docker образ

docker build -t lab_image .

Building 0.9s (7/7) FINISHED

Создадим Docker контейнер

docker run -t -d --name c_labs_container -v "$(pwd)":/labs/ lab_image

При успешном выполнении команды, в терминале появится номер контейнера.

Разберем эту команду

  • -t – Отвечает за создание псевдо-терминала внутри контейнера. В обычной ситуации контейнер, в котором не запущен ни один процесс, автоматически завершает свою работу, но при наличии работающего терминала, он останется активным
  • -d (--detach) отвечает за запуск контейнера в фоновом режиме (не блокируя поток ввода/вывода в окне терминала)
  • --name Позволяет задать имя нашему контейнеру (указывается после флага)
  • -v (--volume) позволяет воспользоваться крайне полезной функцией Docker - "вмонтировать папку из нашей системы в контейнер. Такая папка будет фактически являться общей для системы и для контейнера.

Откроем терминал в контейнере

docker exec -it c_labs_container bash

С помощью набора флагов -it мы получаем доступ к терминалу контейнера под названием c_labs_container и запускаем внутри него хорошо Вам знакомый bash, с помощью которого можно пользоваться любыми установленными в контейнер утилитами.

Выход из контейнера

docker rm -f c_labs_container