在Ubuntu 20.04| 18.04上安装Dokku(Docker Paas)

时间:2020-02-23 14:30:30  来源:igfitidea点击:

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.ioDokku存储库。
首先导入存储库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的全面教程。