运行Docker镜像

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

[!TIP]

注意:在ARM主机上运行镜像时,请采用支持ARM架构的镜像!

本节将用以下实例来讲解如何使用运行镜像功能。

实例1:拉取基础镜像安装Nginx并运行网站服务

实例2:拉取数据库镜像直接运行数据库服务

实例3:运行Ghost镜像并将应用导出给其他用户

实例1:拉取基础镜像安装Nginx并运行网站服务

先从Docker Hub拉取ubuntu:20.04镜像,安装Nginx软件,最后将其运行起来:

首先,点击左侧菜单中的运行镜像

image-20201110140336983

填写服务名称“nginx001”,选择在哪台主机上运行,将宿主机8080端口映射给容器的80端口:

image-20201110140336983

填写镜像地址“ubuntu:20.04”(如果是自己的仓库需填写完整地址,如docker.io/username/ubuntu:20.04):

image-20201110140955666

勾选挂载存储目录允许快照备份使用主控时间挂载SSL证书目录全局网络

image-20201110141054535

填写安装脚本:

# 修改更新源为阿里云
sed -i 's~//.*.ubuntu.com~//mirrors.aliyun.com~' /etc/apt/sources.list
# 更新
apt update -y
# 安装nginx
apt install nginx -y

填写启动脚本:

# 启动nginx
nginx

填写退出脚本:

nginx -s stop

image-20201110141639562

填写应用名称和版本号:

image-20201110141939650

最后,点击提交按钮即可。

nginx001服务开始自动部署了,同时在应用开发动添加了一个应用:

image-20201110144108018

image-20201110142232583

在浏览器中可正常访问该服务:

image-20201110144444364

[!NOTE]

URLOS可以从任意Docker镜像仓库中拉取镜像直接运行服务,并且可快速制作成URLOS应用,极大方便了软件安装与分发。


实例2:拉取数据库镜像直接运行数据库服务

从Docker Hub拉取MariaDB镜像,运行数据库服务。

首先,点击左侧菜单中的运行镜像

image-20201110140336983

填写服务名称“mariadb001”,选择在哪台主机上运行,端口号暂不设置:

image-20201110151451645

填写镜像地址“mariadb:latest”(如果是自己的仓库需填写完整地址,如docker.io/username/mariadb:latest):

image-20201110151638863

开关勾选挂载存储目录允许快照备份使用主控时间挂载SSL证书目录全局网络

image-20201110141054535

在运行参数中配置额外挂载目录,将数据库文件挂载到宿主机,防止容器重启后数据丢失:

image-20201117094328775

[!NOTE]

注意格式,冒号前是宿主机目录,后面为容器目录,宿主机目录不带"/"时,默认为当前服务的数据目录下,例如当前服务为mariadb001,如果填写格式为mysql:/var/lib/mysql:rw,则表示将宿主机目录/data/mounts/mariadb001/mysql挂载到容器目录/var/lib/mysql

为例设置数据库密码,这里需要使用环境变量,{"MYSQL_ROOT_PASSWORD":"Admin888"},Json格式:

image-20201110151925548

填写应用名称和版本号:

image-20201110152349483

在其他设置中填写运行用户,设置运行用户的原因是mysql禁止使用root用户运行容器:

image-20201110171625366

最后,点击提交按钮即可。

如何验证MariaDB服务是否启动成功。首先进入容器查看进程,如图,数据库进程已经在运行,然后也可正常登录数据库,说明服务已经成功运行。

image-20201110171831741


实例3:运行Ghost镜像并将应用导出给其他用户

Ghost镜像:https://hub.docker.com/_/ghost

先阅读Ghost官方给的相关说明,发现如果要正常运行Ghost,须设置以下几个内容:

端口号映射:需映射容器内部端口2368

目录挂载:将容器内部目录/var/lib/ghost/content挂载到宿主机

使用域名访问:需传递环境变量url

运行Ghost镜像

掌握以上信息之后,开始运行镜像,首先命名服务名称为myghostblog,端口填写为80:2368

[!NOTE]

由于运行镜像没有使用反向代理,所以请勿直接使用80端口,本例中只是为了方便演示而使用80端口。

在文章后面的应用调优中介绍了如何开启反向代理。

image-20201117102831955

镜像地址填ghost:1-alpine

image-20201117102948299

开关勾选挂载存储目录允许快照备份使用主控时间挂载SSL证书目录全局网络

image-20201110141054535

在额外挂载参数中填写data/www:/var/lib/ghost/content:rw,将Ghost数据目录挂载到当前服务目录中的data/www:

image-20201117103351310

在环境变量中填写{"url":"http://www.myghostblog.com"},格式为json格式,注意替换成自己的域名:

image-20201117103634819

最后,点击提交按钮,等待服务部署。

image-20201117103827697

部署完成后,在浏览器中打开http://www.myghostblog.com,可正常访问。

image-20201117104153504

访问http://www.myghostblog.com/ghost可进行初始化设置:

image-20201117104535889

初始化完成后,进入ghost后台,一切正常:

image-20201117104640500

应用调优并导出

在URLOS运行镜像之后,会自动添加一个URLOS应用,后期我们可以直接安装这个应用就能部署Ghost了,也可以将Ghost应用导出给其他用户使用,分享非常方便!既然是应用,我们当然希望它更加易于安装和使用,我们只需对它进行一些微调即可。

在Ghots镜像成功运行之后,在应用开发以得到一个名为myghostblog-app的应用,点击修改:

image-20201117104958541

第一个优化

既然Ghots是一个网站应用,我们希望它显示在服务菜单下的网站列表中:

image-20201117105735773

那么只需在标签中填写type__website即可

image-20201117105847616

第二个优化

把默认生成的环境变量文字改成访问网址,这样能方便以后的安装和使用:

image-20201117110050596

改完后点击提交按钮即可。

打开“服务 -> 网站”菜单,看到Ghost博客正常的显示在这里了,并且网址也显示了出来。

image-20201117110447193

进入修改并部署,看到访问网址也正确显示了

image-20201117110647785

第三个优化

选择启用反向代理,使用反向代理后,就可以正常使用80端口号了。

image-20201117163936947

在扩展设置中选择网站环境基础插件,把服务表单步骤改为以下内容:

{
    "2": {
        "cn": "网站",
        "en": "Website"
    },
    "F": {
        "cn": "上传下载",
        "en": "File Transfer"
    },
    "E": {
        "cn": "访问网址",
        "en": "Envionment variables"
    }
}

以上选择的插件和开启的网站和上传下载两个菜单,可让应用具备自动申请/续约SSL证书和SFTP等功能。

image-20201117164130625

最后,我们再检查一下网站数据是否已经挂载到宿主机目录:

image-20201117111120785

Ok,在确认无误之后,将应用导出:

image-20201117111258130

导出文件为文本格式,将其发给其他用户导入URLOS即可。导入应用的方法请参见 导入应用

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

results matching ""

    No results matching ""