Статьи

dockerw — простая командная оболочка Docker для всех нас

Я регулярно работаю над образами Docker и мне приходится играть с разными настройками. Таким образом, я периодически оказываюсь в крысиных бегах «строить, бегать, убирать, что-то менять, перестраивать, бегать…».

dockerw — небольшой инструмент для работы с образами и контейнерами Docker. И он направлен на то, чтобы помочь вам (и мне ;-)) создавать и (локально) запускать образы Docker, скрывая при этом всю боль в командной строке.

Примечание: dockerw предназначается только для «последних» помеченных изображений (не влияет / не затрагивает неявные помеченные изображения)!

Помогите

использование

./dockerw [ build | run | stop | clean | status | env | help ]

Цели

команда Описание
build создает образ Docker
run запускает контейнер Docker на переднем плане на основе изображения
stop останавливает все запущенные контейнеры на основе изображения и удаляет их
clean остановить, а затем удалить ВСЕ (последние) изображения / артефакты <
status показывает статус, если изображение Docker
env список текущих переменных среды
help показать справку

«Строить»

build1

[…]

строить-2

«бег»

бег

«Чистый»

чистый

Установка

  1. dockerw клонов из GitHub .
  2. Создайте каталог dockerw перед dockerw каталогом Docker и скопируйте сценарий dockerw.sh в это место.
  3. Скопируйте / создайте скрипт с именем « dockerw" расположенный в рабочем каталоге вашего образа Docker.

Если вы используете только значения по умолчанию: скрипт dockerw просто вызывает dockerw.sh :

1
2
3
#!/bin/bash
# call dockerw.sh, passing arguments and using env variables
. ../dockerw/dockerw.sh

Вы можете переопределить среду по умолчанию следующим образом:

1
2
3
4
5
6
7
8
#!/bin/bash
# env
BASE_NAME="my_container_context"
CONTAINER_NAME="my_container"
DOCKER_RUN_ARGS="-ti -p 1883:1883 -p 8883:8883"
 
# call dockerw.sh, passing arguments and using env variables
. ../dockerw/dockerw.sh

дерево

Условные обозначения

CONTAINER_NAME — это базовое имя родительского рабочего каталога.
Базовое имя по умолчанию ( BASE_NAME_DEFAULT ) и аргументы запуска докера по умолчанию ( DOCKER_RUN_ARGS_DEFAULT ) можно изменить в dockerw/dockerw.sh .
Имя изображения ( IMAGE_NAME ) IMAGE_NAME следующим образом: BASE_NAME_DEFAULT/CONTAINER_NAME (например, jerady/ubuntu ).

Переменные среды

имя докера изображения «$ {` BASE_NAME`} / $ {`CONTAINER_NAME`}» jerady / mosquitto

название Описание По умолчанию пример
BASE_NAME базовое имя контейнера Docker jerady jerady
CONTAINER_NAME имя контейнера Docker $ (`basename ‘pwd’`) mosquitto
IMAGE_NAME название образа Docker $ {BASE_NAME} / $ {CONTAINER_NAME} jerady / mosquitto
DOCKER_RUN_ARGS аргументы для запуска контейнера -ti -ti
DOCKER_RUN команда docker run для ./dockerw run docker run ${DOCKER_RUN_ARGS} --name ${CONTAINER_NAME} ${IMAGE_NAME} docker run -ti --name mosquitto jerady/mosquitto

Я добавил два примера изображений / проектов Docker, чтобы показать, как можно реализовать пользовательский сценарий dockerw , например, этот простой сценарий для mosquitto:

1
2
3
4
5
6
#!/bin/bash
 
# env variables
DOCKER_RUN_ARGS="-ti -p 1883:1883 -p 8883:8883"
 
. ../dockerw/dockerw.sh

приводит к этим неявным значениям:

окр

GitHub

проект dockerw на GitHub