diff --git a/Dockerfile b/Dockerfile index b914fdf..7f77746 100644 --- a/Dockerfile +++ b/Dockerfile @@ -147,5 +147,5 @@ STOPSIGNAL SIGINT #HEALTHCHECK --interval=10s --timeout=10s --retries=3 CMD netstat -ltun | grep 8080 # 使用 dumb-init 启动入口 Shell,确保容器可以接收控制信号;并使用前台方式启动应用程序 -ENTRYPOINT ["dumb-init", "entry.sh"] +ENTRYPOINT ["dumb-init", "--", "entry.sh"] CMD ["run.sh"] diff --git a/README.md b/README.md index 9483c02..8f161ae 100644 --- a/README.md +++ b/README.md @@ -14,17 +14,18 @@ * 镜像地址: - 华为云: swr.cn-north-4.myhuaweicloud.com/colovu/imgname + - 阿里云: registry.cn-shenzhen.aliyuncs.com/colovu/imgname - 依赖镜像:swr.cn-north-4.myhuaweicloud.com/colovu/debian > 后续相关命令行默认使用华为云 SWR 镜像服务器做说明。 -## TL;DR +## 快捷命令 Docker 快速启动命令: ```shell # 从 Registry 服务器下载镜像并启动 -docker run -d -e ALLOW_ANONYMOUS=yes --name imgname registry.cn-shenzhen.aliyuncs.com/colovu/imgname:latest +docker run -e ALLOW_ANONYMOUS=yes --name imgname swr.cn-north-4.myhuaweicloud.com/colovu/imgname:latest ``` - latest:为镜像的 TAG,可针对性选择不同的 TAG 进行下载 @@ -36,9 +37,6 @@ Docker-Compose 快速启动命令: # 从 Gitee 下载 Compose 文件 curl -sSL -o https://gitee.com/colovu/docker-imgname/raw/master/docker-compose.yml -# 从 Github 下载 Compose 文件 -curl -sSL -o https://raw.githubusercontent.com/colovu/docker-imgname/master/docker-compose.yml - # 创建并启动容器 docker-compose up -d ``` @@ -55,25 +53,14 @@ docker-compose up -d 镜像默认提供以下数据卷定义: -```shell -/srv/imgname/conf # 配置文件 -/srv/imgname/data # 数据文件,主要存放应用数据 -/srv/imgname/cert # 证书文件存放目录 -/srv/imgname/binlog # 数据操作日志文件 -/srv/imgname/log # 日志输出 +- `/data`:工作目录,主要存放应用数据 +- `/var/run`:系统运行时文件,如 PID 文件 -/var/run/imgname # 系统运行时文件,如 PID 文件 -``` - -如果需要持久化存储相应数据,需要**在宿主机建立本地目录**,并在使用镜像初始化容器时进行映射。宿主机相关的目录中如果不存在对应应用`imgname`的子目录或相应数据文件,则容器会在初始化时创建相应目录及文件。 +如果需要持久化存储相应数据,需要**在宿主机建立本地目录**,并在使用镜像初始化容器时进行映射。 ## 容器配置 -在初始化 `AppName` 容器时,如果没有预置配置文件,可以在命令行中设置相应环境变量对默认参数进行修改。类似命令如下(配置环境变量`APP_ENV_KEY_NAME`的值为`key_value`): - -```shell -docker run -d -e "APP_ENV_KEY_NAME=key_value" registry.cn-shenzhen.aliyuncs.com/colovu/imgname:latest -``` +在初始化 `AppName` 容器时,主要通过如下的环境变量进行配置。 ### 自动变量替换 @@ -147,24 +134,6 @@ APP_CFG_yarn__log___aggregation___enable=true ALLOW_ANONYMOUS=yes ``` -通过配置类似环境变量`APPNAME_USER`、`APPNAME_PASSWORD`,可以启用基于密码的用户认证功能。命令行使用参考: - -```shell -$ docker run -d -e APPNAME_USER=colovu -e APPNAME_PASSWORD=colovu123 registry.cn-shenzhen.aliyuncs.com/colovu/imgname:latest -``` - -使用 Docker-Compose 时,`docker-compose.yml`应包含类似如下配置: - -```yaml -services: - imgname: - ... - environment: - - APPNAME_USER=colovu - - APPNAME_PASSWORD=colovu123 - ... -``` - ### 容器安全 本容器默认使用`non-root`运行应用,以加强容器的安全性。在使用`non-root`用户运行容器时,相关的资源访问会受限;应用仅能操作镜像创建时指定的路径及数据。使用`non-root`方式的容器,更适合在生产环境中使用。 @@ -180,10 +149,6 @@ services: - 容器中应用的启动参数不能配置为后台运行,如果应用使用后台方式运行,则容器的启动命令会在运行后自动退出,从而导致容器退出 -## 更新记录 - -- 2021/1/1 (1.0): 初始版本 - ---- 本文原始来源 [Endial Fang](https://gitee.com/colovu) @ [Gitee.com](https://gitee.com)