2019-07-28

【備忘録】Alfresco の Community 版を Linux で試す (3)

Alfresco は Java テクノロジを使って開発されたコンテンツ管理のソフトウェア製品 (Alfresco Software Inc.) で、Microsoft Windows と Unix 系オペレーティングシステム上で動作します。また、無料の Community Edition も提供されています。

Wikipedia より引用、抄訳

コンテンツ管理というとイメージを掴みにくいかもしれませんが、自分にとって Alfresco は高機能な文書管理システムです。

以前、当ブログで Alfresco Community Edition を Linux にインストールする事例を紹介しましたが(参考サイト [1])、現在のバージョンはインストーラではなく Docker のイメージで提供されているため、参考サイト [2] に従ってデプロイした結果をまとめました。

準備

サーバは本ブログで扱った参考サイト [3] のものを使います。このサーバは CentOS を最小限の構成でインストール後、Docker CE を利用するために必要なパッケージをインストールしただけですので、更にいくつか必要なパッケージをインストールします。

まず git をインストールします。

git のインストール 
[bitwalk@centos7]$ sudo yum install git
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.nara.wide.ad.jp
 * extras: ftp.nara.wide.ad.jp
 * updates: ftp.nara.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ git.x86_64 0:1.8.3.1-20.el7 を インストール
--> 依存性の処理をしています: perl-Git = 1.8.3.1-20.el7 のパッケージ: git-1.8.3.1-20.el7.x86_64
...
(省略)
...

次に、docker-compose をインストールします。RPM パッケージが利用できなかったので、github から /usr/local/bin へ直接ダウンロードしました。

docker-compose のインストール 
[bitwalk@centos7]$ sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   617    0   617    0     0    948      0 --:--:-- --:--:-- --:--:--   949
100 15.4M  100 15.4M    0     0  3219k      0  0:00:04  0:00:04 --:--:-- 4845k
[bitwalk@centos7]$ sudo chmod +x /usr/local/bin/docker-compose

Alfresco Community Edition のデプロイ

とりあえず src ディレクトリを作成して、src 内で Alfresco Community Edition をクローンして、2.2.0 のチェックアウトをします。docker-compose のディレクトリへ移動して、docker-compose up をします。

docker-compose のインストール 
[bitwalk@centos7 ~]$ mkdir src
[bitwalk@centos7 ~]$ cd src
[bitwalk@centos7 src]$ git clone https://github.com/Alfresco/acs-community-deployment.git
Cloning into 'acs-community-deployment'...
remote: Enumerating objects: 121, done.
remote: Counting objects: 100% (121/121), done.
remote: Compressing objects: 100% (74/74), done.
remote: Total 1445 (delta 52), reused 88 (delta 33), pack-reused 1324
Receiving objects: 100% (1445/1445), 405.81 KiB | 614.00 KiB/s, done.
Resolving deltas: 100% (856/856), done.
[bitwalk@centos7 src]$ cd acs-community-deployment
[bitwalk@centos7 acs-community-deployment]$ git checkout 2.2.0
Note: checking out '2.2.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 26cf82b... Merge pull request #43 from Alfresco/feature/REPO-4126_community_201901
[bitwalk@centos7 acs-community-deployment]$ ls
CONTRIBUTING.md  LICENSE  README.md  docker-compose  docs  helm  test
[bitwalk@centos7 acs-community-deployment]$ cd docker-compose
[bitwalk@centos7 docker-compose]$ ls
docker-compose.yml
[bitwalk@centos7 docker-compose]$ docker-compose up
Creating network "docker-compose_default" with the default driver
Pulling alfresco (alfresco/alfresco-content-repository-community:6.1.2-ga)...
6.1.2-ga: Pulling from alfresco/alfresco-content-repository-community
0ffa5ac9f3c5: Pull complete
...
(省略)
...
Starting 'Transformers' subsystem, ID: [Transformers, default]
alfresco_1  |  2019-07-28 02:47:21,812  INFO  [management.subsystems.ChildApplicationContextFactory] [http-nio-8080-exec-9] Startup of 'Transformers' subsystem, ID: [Transformers, default] complete

しばらく待つと docker-compose による構成およびアプリケーションの起動が完了しますので、他の PC でブラウザを起動して http://192.168.0.22:8080/share/ にアクセスします。192.168.0.22 は準備した CentOS の IP アドレスです。Alfresco のログイン画面が表示されればアカウント/パスワードを admin/admin でログインします。

 Alfresco Share のログイン画面 

メッセージを日本語へ変更する方法がわかりませんが、とりあえず動作するようです。

 admin/admin でログイン 

Docker の稼働状況などは以下のようになっています。

Docker の稼働状況 
[bitwalk@centos7 ~]$ df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos-root    50G  1.6G   49G    4% /
devtmpfs                  1.8G     0  1.8G    0% /dev
tmpfs                     1.8G     0  1.8G    0% /dev/shm
tmpfs                     1.8G  9.3M  1.8G    1% /run
tmpfs                     1.8G     0  1.8G    0% /sys/fs/cgroup
/dev/sda1                1014M  193M  822M   19% /boot
/dev/mapper/centos-var    211G  3.4G  208G    2% /var
/dev/mapper/centos-home   200G   35M  200G    1% /home
tmpfs                     368M     0  368M    0% /run/user/1000
[bitwalk@centos7 ~]$ docker ps -a
CONTAINER ID        IMAGE                                                     COMMAND                  CREATED             STATUS              PORTS                                                                                                NAMES
922665a99fa9        alfresco/alfresco-content-repository-community:6.1.2-ga   "catalina.sh run -se…"   5 hours ago         Up 3 hours          0.0.0.0:8082->8080/tcp                                                                               docker-compose_alfresco_1
51506395b82e        alfresco/alfresco-activemq:5.15.6                         "/bin/sh -c './init.…"   5 hours ago         Up 3 hours          0.0.0.0:5672->5672/tcp, 0.0.0.0:8161->8161/tcp, 0.0.0.0:61613->61613/tcp, 0.0.0.0:61616->61616/tcp   docker-compose_activemq_1
a9f279afdaec        alfresco/alfresco-share:6.1.0-RC3                         "/usr/local/tomcat/s…"   5 hours ago         Up 3 hours          8000/tcp, 0.0.0.0:8080->8080/tcp                                                                     docker-compose_share_1
c25a351a1fdd        postgres:10.1                                             "docker-entrypoint.s…"   5 hours ago         Up 3 hours          0.0.0.0:5432->5432/tcp                                                                               docker-compose_postgres_1
1612af2d7c96        alfresco/alfresco-search-services:1.3.0-RC2               "/bin/sh -c '$DIST_D…"   5 hours ago         Up 3 hours          0.0.0.0:8083->8983/tcp                                                                               docker-compose_solr6_1
[bitwalk@centos7 ~]$ docker images
REPOSITORY                                       TAG                 IMAGE ID            CREATED             SIZE
alfresco/alfresco-content-repository-community   6.1.2-ga            6edaf25aded1        6 months ago        2.05GB
alfresco/alfresco-share                          6.1.0-RC3           31eb8aebeecc        6 months ago        749MB
alfresco/alfresco-search-services                1.3.0-RC2           275ca63b6dc8        8 months ago        944MB
alfresco/alfresco-activemq                       5.15.6              6ecc4951fba2        10 months ago       468MB
postgres                                         10.1                ec61d13c8566        19 months ago       287MB
[bitwalk@centos7 ~]$ 

しばらく使ってみて、あらためて Alfresco Community Edition の使い方などをまとめたいと考えています。

参考サイト

  1. bitWalk's: 【備忘録】Alfresco の Community 版を Linux で試す (2) [2016-06-19]
  2. Deploying using Docker Compose | Alfresco Documentation
  3. bitWalk's: CentOS 7 に Docker をインストールしてみた [2019-07-27]
  4. Alfrescoをインストールしてコンテンツ管理を体験してみよう | Think IT(シンクイット) [2014-01-21]

 

ブログランキング・にほんブログ村へにほんブログ村

2019-07-27

CentOS 7 に Docker をインストールしてみた

Docker は、コンテナと呼ばれる OS レベルの仮想化環境を提供するオープンソースソフトウェアです。VMware 製品などの完全仮想化を行うハイパーバイザ型製品と比べて、ディスク使用量は少なく、仮想環境 (インスタンス) 作成や起動は速く、性能劣化がほとんどないという利点を持っています。

Wikipedia より引用

本記事では CentOS に Docker をインストールして利用するまでの設定を、ちょっと冗長にまとめました。

  • サーバーの準備
    • CentOS のインストール
  • Docker のセットアップ
    • 必要な関連パッケージをインストール
    • Docker CE のリポジトリの設定
    • Docker CE のインストール
    • サービスの起動
    • グループ docker にユーザを追加
    • hello-world イメージを使って動作確認
  • 参考サイト

サーバーの準備

CentOS のインストール

CentOS は、ダウンロードした CentOS-7-x86_64-DVD-1810.isoFedora Media Writer で USB メモリに焼いて、評価用 PC へインストールしました。今回は「最小限のインストール」でインストールしました。

 CentOS のインストール(最小限) 

CentOS をインストールした後、他の PC から ssh でログインしてパッケージを最新の状態にアップデートしておきます。

CentOS インストール後の更新 
[bitwalk@fedora-pc ~]$ ssh 192.168.0.22
The authenticity of host '192.168.0.22 (192.168.0.22)' can't be established.
ECDSA key fingerprint is SHA256:aAKXPjEm7qOkO877gEsnHGOY9dcoNal1Sp9kNHTFiZE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.22' (ECDSA) to the list of known hosts.
bitwalk@192.168.0.22's password: 
Last login: Sat Jul 27 10:37:12 2019
[bitwalk@centos7 ~]$ sudo yum update

あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:

    #1) 他人のプライバシーを尊重すること。
    #2) タイプする前に考えること。
    #3) 大いなる力には大いなる責任が伴うこと。

[sudo] bitwalk のパスワード:
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
base                                                                                      | 3.6 kB  00:00:00     
extras                                                                                    | 3.4 kB  00:00:00     
updates                                                                                   | 3.4 kB  00:00:00     
(1/4): base/7/x86_64/group_gz                                                             | 166 kB  00:00:00     
(2/4): extras/7/x86_64/primary_db                                                         | 205 kB  00:00:00     
(3/4): updates/7/x86_64/primary_db                                                        | 6.5 MB  00:00:01     
(4/4): base/7/x86_64/primary_db                                                           | 6.0 MB  00:00:03     
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ NetworkManager.x86_64 1:1.12.0-6.el7 を 更新
---> パッケージ NetworkManager.x86_64 1:1.12.0-10.el7_6 を アップデート
...
(省略)
...
---> パッケージ xfsprogs.x86_64 0:4.5.0-18.el7 を 更新
---> パッケージ xfsprogs.x86_64 0:4.5.0-19.el7_6 を アップデート
--> 依存性解決を終了しました。

依存性を解決しました

=================================================================================================================
 Package                            アーキテクチャー バージョン                          リポジトリー       容量
=================================================================================================================
インストール中:
 kernel                             x86_64           3.10.0-957.21.3.el7                 updates            48 M
更新します:
 NetworkManager                     x86_64           1:1.12.0-10.el7_6                   updates           1.7 M
...
(省略)
...
 xfsprogs                           x86_64           4.5.0-19.el7_6                      updates           897 k

トランザクションの要約
=================================================================================================================
インストール   1 パッケージ
更新          73 パッケージ

総ダウンロード容量: 136 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
警告: /var/cache/yum/x86_64/7/updates/packages/NetworkManager-libnm-1.12.0-10.el7_6.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID f4a80eb5: NOKEY
NetworkManager-libnm-1.12.0-10.el7_6.x86_64.rpm の公開鍵がインストールされていません
(1/74): NetworkManager-libnm-1.12.0-10.el7_6.x86_64.rpm                                   | 1.4 MB  00:00:00     
...
(省略)
...
(74/74): xfsprogs-4.5.0-19.el7_6.x86_64.rpm                                               | 897 kB  00:00:00     
-----------------------------------------------------------------------------------------------------------------
合計                                                                             9.1 MB/s | 136 MB  00:00:15     
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 から鍵を取得中です。
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) "
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  更新します              : libgcc-4.8.5-36.el7_6.2.x86_64                                                 1/147 
,,,
(省略)
...
  検証中                  : 2:vim-minimal-7.4.160-5.el7.x86_64                                           147/147 

インストール:
  kernel.x86_64 0:3.10.0-957.21.3.el7                                                                            

更新:
  NetworkManager.x86_64 1:1.12.0-10.el7_6                 NetworkManager-libnm.x86_64 1:1.12.0-10.el7_6         
...
(省略)
...
  xfsprogs.x86_64 0:4.5.0-19.el7_6                       

完了しました!
[bitwalk@centos7 ~]$ sudo reboot
[sudo] bitwalk のパスワード:
Connection to 192.168.0.22 closed by remote host.
Connection to 192.168.0.22 closed.
[bitwalk@fedora-pc ~]$ ssh 192.168.0.22
bitwalk@192.168.0.22's password: 
Last login: Sat Jul 27 10:07:15 2019 from 192.168.0.10
[bitwalk@centos7 ~]$ df -h
/dev/mapper/centos-root    50G  1.3G   49G    3% /
devtmpfs                  1.8G     0  1.8G    0% /dev
tmpfs                     1.8G     0  1.8G    0% /dev/shm
tmpfs                     1.8G  8.9M  1.8G    1% /run
tmpfs                     1.8G     0  1.8G    0% /sys/fs/cgroup
/dev/sda2                1014M  171M  844M   17% /boot
/dev/sda1                 200M   12M  189M    6% /boot/efi
/dev/mapper/centos-home   411G   33M  411G    1% /home
tmpfs                     368M     0  368M    0% /run/user/1000
tmpfs                     368M     0  368M    0% /run/user/0
[bitwalk@centos7 ~]$ 

Docker のセットアップ

必要な関連パッケージをインストール

Docker CE をインストールする方法はいくつかありますが、ここでは一番簡単な方法を取ることにします。すなわち、Docker のリポジトリをセットアップしてインストールします。

そのために、まず、リポジトリやストレージドライバを扱うために必要なパッケージをインストールします。

Docker をインストールする前に必要なパッケージをインストール 
[bitwalk@centos7 ~]$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
[sudo] bitwalk のパスワード:
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
パッケージ device-mapper-persistent-data-0.7.3-3.el7.x86_64 はインストール済みか最新バージョンです
パッケージ 7:lvm2-2.02.180-10.el7_6.8.x86_64 はインストール済みか最新バージョンです
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ yum-utils.noarch 0:1.1.31-50.el7 を インストール
...
(省略)
...
--> 依存性解決を終了しました。

依存性を解決しました

=================================================================================================================
 Package                       アーキテクチャー      バージョン                        リポジトリー         容量
=================================================================================================================
インストール中:
 yum-utils                     noarch                1.1.31-50.el7                     base                121 k
依存性関連でのインストールをします:
 libxml2-python                x86_64                2.9.1-6.el7_2.3                   base                247 k
 python-chardet                noarch                2.2.1-1.el7_1                     base                227 k
 python-kitchen                noarch                1.1.1-5.el7                       base                267 k

トランザクションの要約
=================================================================================================================
インストール  1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 861 k
インストール容量: 4.3 M
Downloading packages:
(1/4): libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm                                          | 247 kB  00:00:00     
(2/4): python-chardet-2.2.1-1.el7_1.noarch.rpm                                            | 227 kB  00:00:00     
(3/4): yum-utils-1.1.31-50.el7.noarch.rpm                                                 | 121 kB  00:00:00     
(4/4): python-kitchen-1.1.1-5.el7.noarch.rpm                                              | 267 kB  00:00:00     
-----------------------------------------------------------------------------------------------------------------
合計                                                                             1.6 MB/s | 861 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : python-chardet-2.2.1-1.el7_1.noarch                                              1/4 
...
(省略)
...
  検証中                  : python-chardet-2.2.1-1.el7_1.noarch                                              4/4 

インストール:
  yum-utils.noarch 0:1.1.31-50.el7                                                                               

依存性関連をインストールしました:
  libxml2-python.x86_64 0:2.9.1-6.el7_2.3                  python-chardet.noarch 0:2.2.1-1.el7_1                 
  python-kitchen.noarch 0:1.1.1-5.el7                     

完了しました!
[bitwalk@centos7 ~]$ 

Docker CE のリポジトリの設定

次に、Docker CE の stable (安定版)リポジトリをセットアップします。

※ 2017年 Docker は CE(コミュニティエディション、無償版)と EE(エンタープライズエディション、有償版)の二種類のリリース提供を開始しました。

Docker の安定板のリポジトリをセットアップ 
[bitwalk@centos7 ~]$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[sudo] bitwalk のパスワード:
読み込んだプラグイン:fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[bitwalk@centos7 ~]$ 

リポジトリ追加後、yum パッケージ・インデックスを更新します。

yum パッケージ・インデックス更新 
[bitwalk@centos7 ~]$ sudo yum makecache fast
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
base                                                                                      | 3.6 kB  00:00:00     
docker-ce-stable                                                                          | 3.5 kB  00:00:00     
extras                                                                                    | 3.4 kB  00:00:00     
updates                                                                                   | 3.4 kB  00:00:00     
(1/2): docker-ce-stable/x86_64/primary_db                                                 |  32 kB  00:00:00     
(2/2): docker-ce-stable/x86_64/updateinfo                                                 |   55 B  00:00:00     
メタデータのキャッシュを作成しました
[bitwalk@centos7 ~]$ 

Docker CE のインストール

Docker CEをインストールします。

Docker CE のインストール 
[bitwalk@centos7 ~]$ sudo yum install docker-ce
[sudo] bitwalk のパスワード:
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ docker-ce.x86_64 3:19.03.1-3.el7 を インストール
--> 依存性の処理をしています: container-selinux >= 2:2.74 のパッケージ: 3:docker-ce-19.03.1-3.el7.x86_64
...
(省略)
...
---> パッケージ setools-libs.x86_64 0:3.3.8-4.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

=================================================================================================================
 Package                          アーキテクチャー バージョン                   リポジトリー                容量
=================================================================================================================
インストール中:
 docker-ce                        x86_64           3:19.03.1-3.el7              docker-ce-stable            24 M
依存性関連でのインストールをします:
 audit-libs-python                x86_64           2.8.4-4.el7                  base                        76 k
 checkpolicy                      x86_64           2.5-8.el7                    base                       295 k
 container-selinux                noarch           2:2.99-1.el7_6               extras                      39 k
 containerd.io                    x86_64           1.2.6-3.3.el7                docker-ce-stable            26 M
 docker-ce-cli                    x86_64           1:19.03.1-3.el7              docker-ce-stable            39 M
 libcgroup                        x86_64           0.41-20.el7                  base                        66 k
 libsemanage-python               x86_64           2.5-14.el7                   base                       113 k
 policycoreutils-python           x86_64           2.5-29.el7_6.1               updates                    456 k
 python-IPy                       noarch           0.75-6.el7                   base                        32 k
 setools-libs                     x86_64           3.3.8-4.el7                  base                       620 k

トランザクションの要約
=================================================================================================================
インストール  1 パッケージ (+10 個の依存関係のパッケージ)

総ダウンロード容量: 91 M
インストール容量: 374 M
Is this ok [y/d/N]: y
Downloading packages:
(1/11): checkpolicy-2.5-8.el7.x86_64.rpm                                                  | 295 kB  00:00:00     
(2/11): audit-libs-python-2.8.4-4.el7.x86_64.rpm                                          |  76 kB  00:00:00     
(3/11): container-selinux-2.99-1.el7_6.noarch.rpm                                         |  39 kB  00:00:00     
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-19.03.1-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
docker-ce-19.03.1-3.el7.x86_64.rpm の公開鍵がインストールされていません
(4/11): docker-ce-19.03.1-3.el7.x86_64.rpm                                                |  24 MB  00:00:03     
...
(省略)
...
(11/11): containerd.io-1.2.6-3.3.el7.x86_64.rpm                                           |  26 MB  00:00:11     
-----------------------------------------------------------------------------------------------------------------
合計                                                                             8.1 MB/s |  91 MB  00:00:11     
https://download.docker.com/linux/centos/gpg から鍵を取得中です。
Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) "
 Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
 From       : https://download.docker.com/linux/centos/gpg
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : libcgroup-0.41-20.el7.x86_64                                                    1/11 
...
(省略)
...
  検証中                  : 2:container-selinux-2.99-1.el7_6.noarch                                        11/11 

インストール:
  docker-ce.x86_64 3:19.03.1-3.el7                                                                               

依存性関連をインストールしました:
  audit-libs-python.x86_64 0:2.8.4-4.el7              checkpolicy.x86_64 0:2.5-8.el7                            
  container-selinux.noarch 2:2.99-1.el7_6             containerd.io.x86_64 0:1.2.6-3.3.el7                      
  docker-ce-cli.x86_64 1:19.03.1-3.el7                libcgroup.x86_64 0:0.41-20.el7                            
  libsemanage-python.x86_64 0:2.5-14.el7              policycoreutils-python.x86_64 0:2.5-29.el7_6.1            
  python-IPy.noarch 0:0.75-6.el7                      setools-libs.x86_64 0:3.3.8-4.el7                         

完了しました!
[bitwalk@centos7 ~]$ 

サービスの起動

Docker のサービスを起動します。

Docker サービスの起動 
[bitwalk@centos7 ~]$ sudo systemctl start docker
[sudo] bitwalk のパスワード:
[bitwalk@centos7 ~]$ sudo systemctl status docker
 docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since 土 2019-07-27 20:35:24 JST; 10s ago
     Docs: https://docs.docker.com
 Main PID: 27893 (dockerd)
    Tasks: 11
   Memory: 39.9M
   CGroup: /system.slice/docker.service
           └─27893 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/con...

 7月 27 20:35:19 centos7 dockerd[27893]: time="2019-07-27T20:35:19.54517182...c
 7月 27 20:35:19 centos7 dockerd[27893]: time="2019-07-27T20:35:19.54542850...c
 7月 27 20:35:19 centos7 dockerd[27893]: time="2019-07-27T20:35:19.54685374...c
 7月 27 20:35:19 centos7 dockerd[27893]: time="2019-07-27T20:35:19.86344758..."
 7月 27 20:35:22 centos7 dockerd[27893]: time="2019-07-27T20:35:22.20617975..."
 7月 27 20:35:23 centos7 dockerd[27893]: time="2019-07-27T20:35:23.76180745..."
 7月 27 20:35:23 centos7 dockerd[27893]: time="2019-07-27T20:35:23.89615003...1
 7月 27 20:35:23 centos7 dockerd[27893]: time="2019-07-27T20:35:23.90030657..."
 7月 27 20:35:24 centos7 dockerd[27893]: time="2019-07-27T20:35:24.21006351..."
 7月 27 20:35:24 centos7 systemd[1]: Started Docker Application Container ...e.
Hint: Some lines were ellipsized, use -l to show in full.
[bitwalk@centos7 ~]$ sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[bitwalk@centos7 ~]$ 

起動した Docker サービスの情報を確認します。

Docker サービス情報 
[bitwalk@centos7 ~]$ sudo docker info
[sudo] bitwalk のパスワード:
Client:
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 19.03.1
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-957.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 3.591GiB
 Name: centos7
 ID: O26I:LZFL:R2II:VSIZ:43JA:DUUZ:H575:TYZ3:4XVI:YARJ:J5RJ:RX4E
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

[bitwalk@centos7 ~]$ 

グループ docker にユーザを追加

今のところ sudo で docker コマンドを実行していますが、今後、毎回 sudo で実行するのは面倒です。そこで、dockerという名のグループを作って(実際には docker-ce のインストール時にグループ docker が作成されていたようです)ユーザをそこに所属させて sudo なしに docker コマンドを実行できるようにします。

グループ docker にユーザを追加 
[bitwalk@centos7 ~]$ sudo groupadd docker
[sudo] bitwalk のパスワード:
groupadd: グループ 'docker' は既に存在します
[bitwalk@centos7 ~]$ sudo gpasswd -a $USER docker
ユーザ bitwalk をグループ docker に追加
[bitwalk@centos7 ~]$ sudo systemctl restart docker
[bitwalk@centos7 ~]$ exit
ログアウト
Connection to 192.168.0.22 closed.
[bitwalk@fedora-pc ~]$ ssh 192.168.0.22
bitwalk@192.168.0.22's password: 
Last login: Sat Jul 27 20:27:56 2019 from 192.168.0.10
[bitwalk@centos7 ~]$ docker info
Client:
 Debug Mode: false

Server:
 Containers: 0
...
(省略)
...
 Live Restore Enabled: false

[bitwalk@centos7 ~]$ 

グループ docker に自分のユーザアカウント(この例では bitwalk)を追加した後、docker のサービスを再起動します。ログアウト→再ログインして docker コマンドを sudo 無しで実行できることを確認しています。

hello-world イメージを使って動作確認

公開されている hello-world という Docker イメージを取得して、コンテナを起動させてみます。

hello-world イメージを使って動作確認 
[bitwalk@centos7 docker]$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:6540fc08ee6e6b7b63468dc3317e3303aae178cb8a45ed3123180328bcc1d20f
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

[bitwalk@centos7 docker]$ 

コンテナの状態を確認すると、以下のようになっています。

コンテナの状態確認 
[bitwalk@centos7 docker]$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
895fe50eb652        hello-world         "/hello"            4 minutes ago       Exited (0) 4 minutes ago                       jolly_bose
[bitwalk@centos7 docker]$

コンテナを削除するには以下のようにします。

コンテナの削除 
[bitwalk@centos7 docker]$ docker rm jolly_bose
jolly_bose
[bitwalk@centos7 docker]$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[bitwalk@centos7 docker]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        6 months ago        1.84kB
[bitwalk@centos7 docker]$ 

コンテナは削除されますが hello-world のイメージは削除されていません。イメージを削除するには以下のようにします。

 イメージの削除
[bitwalk@centos7 docker]$ docker rmi hello-world
Untagged: hello-world:latest
Untagged: hello-world@sha256:6540fc08ee6e6b7b63468dc3317e3303aae178cb8a45ed3123180328bcc1d20f
Deleted: sha256:fce289e99eb9bca977dae136fbe2a82b6b7d4c372474c9235adc1741675f587e
Deleted: sha256:af0b15c8625bb1938f1d7b17081031f649fd14e6b233688eea3c5483994a66a3
[bitwalk@centos7 docker]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
[bitwalk@centos7 docker]$ 

ちなみに、Docker のコンテナやイメージの格納先は /var/lib/docker/ 以下にあります。本格的に Docker を利用するのであれば、CentOS のインストール時に、/ (root) とは別に /var あるいは /var/lib/docker/ のパーティション (LVM) を用意した方が良さそうです。

ちなみに、評価用の PC はその後、下記のようにインストールし直しました。

Docker 評価用にパーティションを設定(再インストール) 
[bitwalk@centos7 ~]$ df -h
ファイルシス            サイズ  使用  残り 使用% マウント位置
/dev/mapper/centos-root    50G  1.4G   49G    3% /
devtmpfs                  1.8G     0  1.8G    0% /dev
tmpfs                     1.8G     0  1.8G    0% /dev/shm
tmpfs                     1.8G  8.9M  1.8G    1% /run
tmpfs                     1.8G     0  1.8G    0% /sys/fs/cgroup
/dev/sda1                1014M  193M  822M   19% /boot
/dev/mapper/centos-home   200G   33M  200G    1% /home
/dev/mapper/centos-var    211G  207M  211G    1% /var
tmpfs                     368M     0  368M    0% /run/user/1000
[bitwalk@centos7 ~]$ 

参考サイト

  1. CentOS 用 Docker CE の入手 — Docker-docs-ja 17.06.Beta ドキュメント
  2. Install Docker on CentOS 7 - Qiita [2019-02-08]
  3. Docker入門(第二回)~Dockerセットアップ、コンテナ起動~ | さくらのナレッジ [2018-03-12]
  4. Dockerのインストール&操作方法(CentOS7.3) - Qiita [2017-12-10]
  5. Dockerが商用版Dockerとして「Docker Enterprise Edition」発表、認証済みイメージやプラグインなど提供。無償版は「Community Edition」に - Publickey [2017-03-06]

 

ブログランキング・にほんブログ村へにほんブログ村