我经常处理Docker映像,并且必须使用不同的设置。 因此,我会定期参加“构建,运行,清理,更改,重新构建,运行……”的竞赛。
dockerw
是用于处理Docker映像和容器的小工具。 它旨在帮助您(和我;-))构建和(本地)运行Docker映像,同时隐藏所有命令行难题。
注意: dockerw
仅针对“最新”标记的图像(不影响/ touch隐式标记的图像)!
用法
./dockerw [ build | run | stop | clean | status | env | help ]
目标
命令 | 描述 |
---|---|
build | 构建Docker映像 |
run | 根据映像在前景中运行Docker容器 |
stop | 根据映像停止所有正在运行的容器并删除它们 |
clean | 停止然后删除所有(最新)图像/工件< |
status | 如果Docker映像显示状态 |
env | 列出当前环境变量 |
help | 显示帮助 |
“建立”
[…]
“跑”
“清洁”
安装
- 从GitHub克隆
dockerw
。 - 在Docker工作目录之前创建一个
dockerw
目录,并将dockerw.sh
脚本复制到该位置。 - 复制/创建一个名为“
dockerw"
的脚本,该脚本位于您的Docker映像的工作目录中。
如果仅使用默认值: dockerw
脚本仅调用dockerw.sh
:
#!/bin/bash
# call dockerw.sh, passing arguments and using env variables
. ../dockerw/dockerw.sh
您可以像这样覆盖默认环境:
#!/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
是父工作目录的基本名称。
可以在dockerw/dockerw.sh
更改默认的基本名称( BASE_NAME_DEFAULT
)和默认的BASE_NAME_DEFAULT
run参数( DOCKER_RUN_ARGS_DEFAULT
)。
图像名称( IMAGE_NAME
)的构建如下: BASE_NAME_DEFAULT/CONTAINER_NAME
(例如jerady/ubuntu
)。
环境变量
码头工人镜像的名称“ $ {`BASE_NAME`} / $ {`CONTAINER_NAME`}” jerady / mosquitto
名称 | 描述 | 默认 | 例 |
---|---|---|---|
BASE_NAME | Docker容器的基本名称 | 耶拉迪 | 耶拉迪 |
CONTAINER_NAME | Docker容器的名称 | $(`basename'pwd'`) | 蚊子 |
IMAGE_NAME | Docker映像的名称 | $ {BASE_NAME} / $ {CONTAINER_NAME} | 杰拉迪/蚊子 |
DOCKER_RUN_ARGS | 运行容器的参数 | -ti | -ti |
DOCKER_RUN | ./dockerw run 调用的./dockerw run 命令 | docker run ${DOCKER_RUN_ARGS} --name ${CONTAINER_NAME} ${IMAGE_NAME} | docker run -ti --name mosquitto jerady/mosquitto |
我添加了两个示例Docker映像/项目,以展示如何实现自定义dockerw
脚本,例如,此简单的mosquitto脚本:
#!/bin/bash
# env variables
DOCKER_RUN_ARGS="-ti -p 1883:1883 -p 8883:8883"
. ../dockerw/dockerw.sh
导致这些隐式值:
的GitHub
GitHub上的 dockerw
项目
翻译自: https://www.javacodegeeks.com/2016/07/dockerw-simple-docker-command-wrapper-rest-us.html