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 build -t lab_image .
Building 0.9s (7/7) FINISHED
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