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
# 使用 dumb-init 启动入口 Shell,确保容器可以接收控制信号;并使用前台方式启动应用程序
ENTRYPOINT ["dumb-init", "entry.sh"]
ENTRYPOINT ["dumb-init", "--", "entry.sh"]
CMD ["run.sh"]
+7 -42
View File
@@ -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)