运行镜像步骤

从URLOS-1.4.1版本开始允许直接运行Docker镜像,用户可以使用任意Docker镜像仓库(包括Docker Hub)的镜像直接在URLOS上运行服务,并自动添加为URLOS应用供用户快速部署。

1、基础信息

在此步骤中,需要填写的项目有服务名称,即启动之后的容器名称,选择容器运行在哪台主机上,以及端口映射(如无需映射,则可不填):

image-20201204122327239

2、镜像地址

如果镜像为Docker官方镜像,可以直接使用“镜像名:tag”的格式,如果非Docker官方镜像,请使用完整地址,如:docker.io/username/nginx:1.0,如果是私有镜像,请填写用户名与密码:

image-20201204122539708

3、功能开关

在此步骤中可以开启应用相关的功能,推荐打开挂载存储目录、允许快照备份、使用主控时间、全局网络:

image-20201204122614858

[!NOTE]

各项功能说明

允许特权运行:允许以特权运行容器,即设置“docker run”的“--privileged”参数(注意:该选项可能存在安全隐患,请慎重选择!)。

挂载存储目录:从母机挂载存储目录(请在集群中配置存储目录),用于存储数据。注:单机应用挂载本地存储目录的子目录,集群应用挂载NFS存储目录的子目录。

容器只读:禁止向容器内部写数据,即设置“docker run”的“--read-only”参数(注意:2. 挂载的存储目录不受影响)。

允许快照备份:勾选则允许执行快照备份(仅挂载了本地存储时有效)。

使用主控时间:将容器内部的时间与URLOS的时间保持一致。

挂载SSL证书目录:从母机挂载SSL证书目录,以便在宿主机统一更新SSL的“客户端”证书文件。

全局网络:启动容器时加入全局网络(名称为“oooooo”的容器网络),便于与其它已加入全局网络的应用进行内网通信。

4、运行参数

在该步骤中,可配置额外挂载参数额外启动参数

额外挂载参数:可从母机挂载除存储目录外的其它目录到容器;

额外启动参数:是以docker run方式运行容器时,附加的额外参数,如:--add-host a.com:192.168.0.1、-v /data/www:/data/www等。

在实际应用中,将母机目录挂载到容器中,可以通过额外挂载参数实现,也可以通过额外启动参数-v实现。

image-20201204122739299

5、脚本设置

安装脚本:安装或初始化软件的SHELL脚本,支持换行和条件判断,如:apt-get update -y && apt-get install nginx; mkdir -p /run/nginx/

sed -i 's~//.*.ubuntu.com~//mirrors.aliyun.com~' /etc/apt/sources.list
apt update -y
apt install nginx -y

启动脚本:用于启动容器内部的应用,如:service nginx start(如镜像中已经存在启动脚本,此处可留空)

nginx

状态脚本:用于检查应用启动状态的脚本,当shell变量statusScriptResult的值为1时,则表示启动正常;状态脚本共执行60次,每2秒执行1次(可使用sleep修改执行间隔时间)

(ps -ef|grep "nginx"|grep "master process"|grep -v "grep") && statusScriptResult=1

监控脚本:循环检查容器内部程序的状态,可使用{w:statusScript:w}直接引用状态脚本,默认每1秒钟检查1次,当监控结果连续3次发生错误时便重启容器,如:sleep 3 && service mysql status || exit 1;

{w:statusScript:w}
[ "$statusScriptResult" != 1 ]  && exit 1

退出脚本:用于关闭容器时退出应用程序的脚本

nginx -s stop

img

6、环境变量

当所运行的镜像含有可使用的环境变量时,可在此步骤中指定环境变量的值,如运行mariadb镜像时,可使用环境变量MYSQL_ROOT_PASSWORD来为数据库root用户设置密码,具体内容请自行查看镜像的相关文档。

{"MYSQL_ROOT_PASSWORD":"Admin888"}

image-20201204153538457

7、保存应用

在此步骤中用来设置应用的应用名称和版本号,此步骤可忽略。

image-20201204153743693

8、其他

当运行某些特殊镜像时,如果容器内部的软件程序禁止使用root用户运行容器(如:MySQL),请指定运行容器的用户名,否则请留空!

image-20201204153922588


更多运行镜像的实例,请参见 运行Docker镜像

Copyright © www.urlos.com 2021 all right reserved,powered by Gitbook文档最近一次修订时间: 2020-12-04

results matching ""

    No results matching ""