feat: 修改Dockerfile

This commit is contained in:
2025-04-21 18:18:13 +08:00
parent 782e10787c
commit e17bc168a1
2 changed files with 8 additions and 43 deletions
+1 -1
View File
@@ -147,5 +147,5 @@ STOPSIGNAL SIGINT
#HEALTHCHECK --interval=10s --timeout=10s --retries=3 CMD netstat -ltun | grep 8080 #HEALTHCHECK --interval=10s --timeout=10s --retries=3 CMD netstat -ltun | grep 8080
# 使用 dumb-init 启动入口 Shell,确保容器可以接收控制信号;并使用前台方式启动应用程序 # 使用 dumb-init 启动入口 Shell,确保容器可以接收控制信号;并使用前台方式启动应用程序
ENTRYPOINT ["dumb-init", "entry.sh"] ENTRYPOINT ["dumb-init", "--", "entry.sh"]
CMD ["run.sh"] CMD ["run.sh"]
+7 -42
View File
@@ -14,17 +14,18 @@
* 镜像地址: * 镜像地址:
- 华为云: swr.cn-north-4.myhuaweicloud.com/colovu/imgname - 华为云: swr.cn-north-4.myhuaweicloud.com/colovu/imgname
- 阿里云: registry.cn-shenzhen.aliyuncs.com/colovu/imgname
- 依赖镜像:swr.cn-north-4.myhuaweicloud.com/colovu/debian - 依赖镜像:swr.cn-north-4.myhuaweicloud.com/colovu/debian
> 后续相关命令行默认使用华为云 SWR 镜像服务器做说明。 > 后续相关命令行默认使用华为云 SWR 镜像服务器做说明。
## TL;DR ## 快捷命令
Docker 快速启动命令: Docker 快速启动命令:
```shell ```shell
# 从 Registry 服务器下载镜像并启动 # 从 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 进行下载 - latest:为镜像的 TAG,可针对性选择不同的 TAG 进行下载
@@ -36,9 +37,6 @@ Docker-Compose 快速启动命令:
# 从 Gitee 下载 Compose 文件 # 从 Gitee 下载 Compose 文件
curl -sSL -o https://gitee.com/colovu/docker-imgname/raw/master/docker-compose.yml 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 docker-compose up -d
``` ```
@@ -55,25 +53,14 @@ docker-compose up -d
镜像默认提供以下数据卷定义: 镜像默认提供以下数据卷定义:
```shell - `/data`:工作目录,主要存放应用数据
/srv/imgname/conf # 配置文件 - `/var/run`:系统运行时文件,如 PID 文件
/srv/imgname/data # 数据文件,主要存放应用数据
/srv/imgname/cert # 证书文件存放目录
/srv/imgname/binlog # 数据操作日志文件
/srv/imgname/log # 日志输出
/var/run/imgname # 系统运行时文件,如 PID 文件 如果需要持久化存储相应数据,需要**在宿主机建立本地目录**,并在使用镜像初始化容器时进行映射。
```
如果需要持久化存储相应数据,需要**在宿主机建立本地目录**,并在使用镜像初始化容器时进行映射。宿主机相关的目录中如果不存在对应应用`imgname`的子目录或相应数据文件,则容器会在初始化时创建相应目录及文件。
## 容器配置 ## 容器配置
在初始化 `AppName` 容器时,如果没有预置配置文件,可以在命令行中设置相应环境变量对默认参数进行修改。类似命令如下(配置环境变量`APP_ENV_KEY_NAME`的值为`key_value`): 在初始化 `AppName` 容器时,主要通过如下的环境变量进行配置。
```shell
docker run -d -e "APP_ENV_KEY_NAME=key_value" registry.cn-shenzhen.aliyuncs.com/colovu/imgname:latest
```
### 自动变量替换 ### 自动变量替换
@@ -147,24 +134,6 @@ APP_CFG_yarn__log___aggregation___enable=true
ALLOW_ANONYMOUS=yes 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`方式的容器,更适合在生产环境中使用。 本容器默认使用`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) 本文原始来源 [Endial Fang](https://gitee.com/colovu) @ [Gitee.com](https://gitee.com)