Я регулярно работаю над образами Docker и мне приходится играть с разными настройками. Таким образом, я периодически оказываюсь в крысиных бегах «строить, бегать, убирать, что-то менять, перестраивать, бегать…».
dockerw
— небольшой инструмент для работы с образами и контейнерами Docker. И он направлен на то, чтобы помочь вам (и мне ;-)) создавать и (локально) запускать образы Docker, скрывая при этом всю боль в командной строке.
Примечание: dockerw
предназначается только для «последних» помеченных изображений (не влияет / не затрагивает неявные помеченные изображения)!
использование
./dockerw [ build | run | stop | clean | status | env | help ]
Цели
команда | Описание |
---|---|
build |
создает образ Docker |
run |
запускает контейнер Docker на переднем плане на основе изображения |
stop |
останавливает все запущенные контейнеры на основе изображения и удаляет их |
clean |
остановить, а затем удалить ВСЕ (последние) изображения / артефакты < |
status |
показывает статус, если изображение Docker |
env |
список текущих переменных среды |
help |
показать справку |
«Строить»
[…]
«бег»
«Чистый»
Установка
-
dockerw
клонов из GitHub . - Создайте каталог
dockerw
передdockerw
каталогом Docker и скопируйте сценарийdockerw.sh
в это место. - Скопируйте / создайте скрипт с именем «
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
Ссылка: | dockerw — простая командная оболочка Docker для всех нас от нашего партнера по JCG Дженса Детерса из блога JavaFX Delight . |