在Ubuntu 20.04| 18.04上安装Dokku(Docker Paas)
Dokku是一个可扩展的开源平台,可作为在我们选择的单个服务器上运行的服务。
如果你曾经使用过heroku,那么将它视为你的托管版的heroku。
我们可以将基于Docker的平台作为在单个服务器上运行的服务。
在本教程中,我们将介绍在Ubuntu 20.04 | 18.04 Linux系统上安装Dokku PaaS。
由于本文更新支持的操作系统是:Ubuntu 16.04/18.04/20.04 x64debian 9+ x64
在Ubuntu上安装Dokku - 准备工作
安装和更新的Ubuntu 20.04 | 18.04 SystemDocker Engineate至少1GB系统ModerServer与FQDN集合 - 可以在DNS或者/etc/hosts上
在Ubuntu 20.0418.04上有两种安装Dokku:使用从Dokku APT存储库中使用Bootstrap ScriptIng安装
我们将考虑在Ubuntu 20.04 | 18.04 Linux服务器上安装Dokku的两种方法。
我建议从APT存储库安装Dokku,以便我们可以查看正在发生的事情。
使用该设置系统主机名 hostnamectl
命令:
$sudo hostamectl set-hostname dokku.theitroad.com
确保系统更新并升级:
sudo apt update sudo apt upgrade -y sudo reboot
方法1:从APT存储库中安装ubuntu 20.04 | 18.04上的Dokku
Dokku套餐可供选择 packagecloud.io
Dokku存储库。
首先导入存储库GPG密钥来信任包:
sudo apt update sudo apt install -y apt-transport-https wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | sudo apt-key add
主要进口
2017-10-08 19:40:09 URL:https://d28dx6y1hfq314.cloudfront.net/505/623/gpg/dokku-dokku-FB2B6AA421CD193F.pub.gpg?t=1602179109_89e21c60fdf77e8ab2181ba23ae0dc910985dfbb [3937/3937] -> "-" [1] OK
使用以下命令添加repo:
OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")" echo "deb https://packagecloud.io/dokku/dokku/ubuntu/${OS_ID} main" | sudo tee /etc/apt/sources.list.d/dokku.list
然后更新系统包列表:
sudo apt update
第1步:在Ubuntu 20.04上安装Docker Engine | 18.04
我们可以安装Dokku支持的稳定版本的Docker或者Edge释放。
wget -nv -O - https://get.docker.com/| sudo bash
将用户帐户添加到Docker组:
sudo usermod -aG docker $USER newgrp docker
这是无人看管的安装,等待它填写然后确认安装Docker Engine版本:
$docker version Client: Docker Engine - Community Version: 19.03.13 API version: 1.40 Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:02:52 2017 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.13 API version: 1.40 (minimum version 1.12) Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:01:20 2017 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.3.7 GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683
第2步:在Ubuntu 20.04上安装Dokku | 18.04
安装了Docker后,我们可以在Ubuntu 20.04 | 18.04 LTS系统上安装Dokku。
这是通过更新系统包和安装来完成的 dokku
软件包:
sudo apt update sudo apt install dokku -y
依赖关系通过 apt
包括:Herokuishsshcommandplugn.
当被问到是否启用Web配置界面时,应答是
Dokku的安装还将为我们配置Nginx并创建一个用于管理服务的系统服务单元。
安装输出摘要如下所示:
.... Adding user dokku to group adm Starting nginx (via systemctl): nginx.service. -----> Priming bash-completion cache Ensure proper sshcommand path Setting up dokku-installer Enabling dokku-installer Created symlink /etc/systemd/system/multi-user.target.wants/dokku-installer.service → /etc/systemd/system/dokku-installer.service. Created symlink /etc/systemd/system/graphical.target.wants/dokku-installer.service → /etc/systemd/system/dokku-installer.service. Starting dokku-installer Processing triggers for libc-bin (2.31-0ubuntu9.1) ... Processing triggers for ufw (0.36-6) ... Processing triggers for systemd (245.4-4ubuntu3.2) ... Processing triggers for man-db (2.9.1-1) ...
安装Dokku依赖项:
sudo dokku plugin:install-dependencies --core
系统名为Dokku的用户和组也被添加到系统中,其主目录是/home/dookku。
将应用程序部署到Dokku时使用此用户帐户。
$id dokku uid=1001(dokku) gid=1002(dokku) groups=1002(dokku),4(adm),998(docker) $ls -la /home/dokku/ total 44 drwxr-xr-x 5 dokku dokku 4096 Oct 8 19:45 . drwxr-xr-x 4 root root 4096 Oct 8 19:43 .. drwxr-xr-x 2 dokku dokku 4096 Oct 8 19:45 .basher -rw-r--r-- 1 dokku dokku 220 Oct 8 19:43 .bash_logout -rw-r--r-- 1 dokku dokku 3771 Oct 8 19:43 .bashrc -rw-r--r-- 1 dokku dokku 0 Oct 8 19:43 .cloud-locale-test.skip drwxr-xr-x 2 dokku dokku 4096 Oct 8 19:43 .dokkurc -rw-r--r-- 1 dokku dokku 29 Oct 8 19:43 HOSTNAME -rw-r--r-- 1 dokku dokku 807 Oct 8 19:43 .profile drwxr-xr-x 2 dokku dokku 4096 Oct 8 19:43 .ssh -rw-r--r-- 1 dokku root 15 Oct 8 19:44 .sshcommand -rw-r--r-- 1 dokku dokku 29 Oct 8 19:43 VHOST
安装后应运行该服务。
服务的名称是 dokku-installer.service
:
$systemctl status dokku-installer.service ● dokku-installer.service - Dokku web-installer Loaded: loaded (/etc/systemd/system/dokku-installer.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-10-08 19:44:41 CEST; 6min ago Main PID: 14789 (python3) Tasks: 1 (limit: 2286) Memory: 8.3M CGroup: /system.slice/dokku-installer.service └─14789 python3 /usr/share/dokku/contrib/dokku-installer.py selfdestruct Oct 08 19:44:41 ubuntu systemd[1]: Started Dokku web-installer. Oct 08 19:44:41 ubuntu sudo[14817]: root : TTY=unknown ; PWD=/; USER=root ; COMMAND=/usr/sbin/ufw status Oct 08 19:44:41 ubuntu sudo[14817]: pam_unix(sudo:session): session opened for user root by (uid=0) Oct 08 19:44:41 ubuntu sudo[14817]: pam_unix(sudo:session): session closed for user root
确认是否已启用该服务以启动启动:
$systemctl is-enabled dokku-installer.service enabled
可以使用Dokku版本使用:
$dokku version dokku version 0.21.4
第3步:在Ubuntu 20.04上配置Dokku | 18.04
完成安装后,请转到服务器的IP并按照Web安装程序进行配置,配置Dokku。
确认: SSH Public key
我们将用于访问dokku apps.provide fqdn hostname for dookku以用于应用程序Urlcheck Use virtualhost naming
要将应用程序部署在Dokku与主机名
然后单击"完成设置"按钮,完成ubuntu 20.04 | 18.04上的Dokku安装。
请注意,保存设置后,Web管理员将自终止,我们应该能够运行或者部署到Dokku安装。
ubuntu 20.04 |升级Dokku | 18.04
要将Dokku升级到最新的稳定版本,请使用dokku-update命令:
sudo dokku ps:stopall sudo apt update sudo apt install -qq -y dokku herokuish sshcommand plugn gliderlabs-sigil sudo sudo apt upgrade
使用上面命令升级Dokku不会影响运行Dokku,并为我们提供许多升级说明。
如果我们想在升级后重建所有应用程序,请使用:
sudo dokku ps:rebuildall
安装Dokku插件
Dokku提供了一个少量的插件来管理其他函数。
所有这些都可以在Dokku上获得官方插件。
在Dokku主机上安装这些插件作为root用户或者使用sudo权限使用用户帐户。
请参见下面的示例:
安装PostgreSQL数据存储服务:
sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git
安装MariaDB数据存储插件:
sudo dokku plugin:install https://github.com/dokku/dokku-mariadb.git mariadb
将应用程序部署到Dokku
既然我们在Ubuntu 20.04 |在Ubuntu 20.04 |中有一个工作Dokku安装,我们可以开始部署应用程序。
我们可以阅读将应用程序部署到Dokku的全面教程。