dockerを使用して見たかったんですが、中々難しくて調べる気がしたかったんです。

今回、Arch Linuxを作りながら少し勉強になりました。

dockerて何?

まあ、テクニカルに詳しくは知りませんが、LinuxのKenal Areaを除いてUser Areaだけ入れたイメージで動いている、半仮想化ぽいな感じです。

まずは、docker imageを保存しているdocker hubで公式に配布するubuntuとかをインストールしながら使い方になれって、次の段階でArch Linuxを自分のLinuxに入れるつもり でした。

Docker Hub (https://hub.docker.com)

そこで気づいてましたが、Arch Linuxdocker hubに公式に配布するイメージがありませんでした。なんと!

”これは仕方ない。自分で作りましょう!”と思ってArch Linux docker imageを作りました。

Minibrary Docker Hub Arch Linux Image リンク

0. docker インストール

dockeraptyumなどのパッケージマネージャーでもインストールができますが、今回はdockerが提供するppaを追加して

まず、 curlがインストールしておるか確認します。

which curl

curlがない場合はインストールします。

sudo apt update && sudo apt install curl -y

curlのインストールができたら、下記のコマンドでdockerをインストールします。

curl -fsSL https://get.docker.com/ | sh

コマンドを走ったらsudo権限のため、rootのパスワードを聞きます。

パスワードを入力して下さい。

1. イメージを持ってくる

下記のコマンドでイメージを持ってきます。(持ってくるイメージは自分で作ったArch Linuxです。)

sudo docker pull minibrary/archlinux

持ってきたイメージのリストを確認しましょう。

sudo docker images

2. イメージを実行

持ってきたイメージをbashで実行できるようにコンテナを走らせます。

sudo docker run -i -t --name arch minibrary/archlinux /bin/bash

-iinteractiveモード、コンテナへ接続(attach)しなくっても実行ができるオプション -tallocate pseudo-TTY, Host Linuxdocker containerの間にterminalを作ります。 --name archはコンテナに名前(ここではarch)を付けます。

コマンドを入れるとすぐコンテナが走って、そのイメージの/bin/bashが走ります。

3. Repositoryアップデート

現在のArch Linuxはほとんど空っぽです。

まず、Repositoryをアップデートしましょう。

pacman -Syu

4. 終了と再実行

現状態のコンテナは終了するか出る事ができます。

コマンドexitをしたらコンテナから出て、コンテナを止めます。

exit

次のコマンドでコンテナを確認しましょう。

sudo docker ps

何も表示されません。

今度は次のコマンドですべてのコンテナ・リストを確認しましょう。

sudo docker ps -a

先作ったarchて名前のコンテナが表示して、statusexitです。

またコンテナを走らせる為、次のコマンドを走ります。

1回作っているコンテナは自分が付けた名前で簡単に、前回と同じ環境で実行ができます。

コンテナを走らせて、状況を確認します。

sudo docker start arch && sudo docker ps

この状態でもう1回コマンドを走ってコンテナへ接続します。

sudo docker attach arch

コマンドを走って何かのキーを押して見ると、またArch Linuxbash cliに接続しています。

作成したコンテナは、実際のリナックス環境と同じく使えますし、もう必要がなくなったらコンテナを削除してHost OSはきれいに維持できます。

以上、簡単にdockerを使ってArch Linuxを実行してみました。