feat: 修改Dockerfile
This commit is contained in:
+1
-1
@@ -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"]
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user