8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

BargeのDockerを最新化し、docker-composeを導入する

Posted at

結論

Docker最新化の方法

$ sudo /etc/init.d/docker restart latest

docker-composeをインストールする方法

$ sudo wget "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -O /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Bargeとは

image.png

Dockerホストに特化したLinuxディストリビューションです。

Dockerで軽量OSというとAlpine Linuxが思い浮かびますが、用途が全く異なります。BargeはDockerホスト向けで、Alpine LinuxはDockerイメージ向けです。

詳しい説明は公式や、分かりやすい記事に譲り、自分が使ってみた感想だけ書きます。

良いところ

  • 軽量で起動が高速
    最新のBarge2.13.0のisoイメージのサイズは 驚異の14MB
    UbuntuやCentOSのイメージファイルと比較すると、その軽量ぶりが際立ちます。
OS isoイメージファイルサイズ
CentOS 7.8 4.5GB
Ubuntu 20.04 2.5GB
Barge 2.13.0 14MB
  • 最初からDockerがインストールされている
    UbuntuやCentOSにはDockerがデフォルトで入っておらず、またOSのバージョンによってはインストール手順が複雑です。動作確認の前にインストールで躓いたことがある人も多いのではないでしょうか(経験談)。
    Bargeには最初からDockerが入っているため、起動すればすぐにDockerを使えます。また、Dockerのバージョンの切り替えも簡単なので、特定のバージョンをサクッと使いたいというニーズにも応えられます。

微妙なところ

  • パッケージ管理が独特
    Ubuntuでいうところのapt、CentOSでいうところのyumは、Bargeではpkgというコマンドです。
    FreeBSDのパッケージ管理コマンドもpkgという名前ですが、特に関係ないようです。
    他のディストリビューションでは難なく入れられる(またはデフォルトで入っている)パッケージが、簡単にインストールできないことがあります。(例:curl)

  • 最近更新されていない
    2020年4月時点で、最新のリリースバージョン2.14.0-rc2 で、リリース日は2019年8月です。
    それまでは少なくとも2月に1度以上はリリースされていたため、今後更新されない可能性もあります。

環境

Vagrant boxを利用して起動

[bargee@barge ~]$ cat /etc/os-release
NAME="Barge"
VERSION=2.13.0
ID=barge
ID_LIKE=busybox
VERSION_ID=2.13.0
PRETTY_NAME="Barge 2.13.0"
HOME_URL="https://github.com/bargees/barge-os"
BUG_REPORT_URL="https://github.com/bargees/barge-os/issues"

Dockerの最新化

Barge のデフォルトのDockerは古いです。CE版になる以前のもので、2016年頃のバージョンです。

[bargee@barge ~]$ docker --version
Docker version 1.10.3, build 20f81dd

アップデートが必要なので、以下のコマンドを打ちます。
ここで、/etc/init.d/は省略不可能です。通常のdockerコマンドとは異なることに注意してください。(通常のdockerコマンドがどこを指しているかは、which dockerで確認できます。)

[bargee@barge ~]$ sudo /etc/init.d/docker restart latest
docker[647]: Loading /etc/default/docker
WARNING: Possible Forward-Incompatibility of libnetwork
Once you upgrade Docker to v1.12 or newer, if you downgrade back,
you may need to initialize /var/lib/docker/network/files/local-kv.db.
Downloading v19.03.8 ...

少し時間がかかるので気長に待ちましょう。
Dockerデーモンの再起動が終わったら、バージョンが更新されていることを確認します。

[bargee@barge ~]$ docker --version
Docker version 19.03.8, build afacb8b7f0

latestとすると最新版のDockerに切り替わりますが、以下のように特定のバージョンを指定することもできます。

[bargee@barge ~]$ sudo /etc/init.d/docker restart v19.03.8

docker-composeのインストール

Barge にはdocker-composeはデフォルトで入っていません。公式サイトの手順 通りにインストールしようとすると、curlが無くて詰みます。sudo pkg install curlとしてもcurlはインストールできませんでした。
代わりにwgetがデフォルトで入っているため、wgetで代用します。2020年4月時点でのdocker-compose安定版の最新バージョン(1.25.5)をインストールします。

[bargee@barge ~]$ sudo wget "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -O /usr/local/bin/docker-compose
[bargee@barge ~]$ sudo chmod +x /usr/local/bin/docker-compose

curlのファイル保存先指定は-o
wgetのファイル保存先指定は-O
curl -Owget -oにはそれぞれ別の意味があって... ややこしいですね。
 
Bargeはusr/local/binにデフォルトではPATHが通っていないので、PATHが通っている/usr/binにシンボリックリンクを設定します。
バージョンを確認して、PATHを通せたことを確認します。

[bargee@barge ~]$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
[bargee@barge ~]$ docker-compose --version
docker-compose version 1.25.5, build 8a1c60f6

以上で、Barge に最新のDockerとdocker-composeをインストールできました。

参考

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?