サポートが終了したCentOS6へdocker-composeをインストールしてみた


はじめに

基本的にはセキュリティの観点からも最新のOS、最新のパッケージのものを使用した方がいい。
ただし、諸事情によりそうも言ってられない場合があるとおもう。そのため&自分のメモのためにもこちらの記事を残しておく。
※ サポート切れのもの使うわけだから何があっても自己責任

考え方としては古いOSには古いパッケージにしか相性が良くないのでバージョンを合わせてインストールすることが大事。

環境&使用したもの

  • Windows11
  • Oracle VM VirtualBox
  • Vagrant

インストールできた方法

  1. Vagrantfile等の作成
    cmd
    vagrant init bento/centos-6.7
    touch install-docker-compose.sh
    touch docker-compose.yml # 動作確認用のためdocker-composeのインストールとは関係ない
    
  2. スクリプトファイルの実行設定を追加
    Vagrantfile
    config.vm.provision "shell", path: "install-docker-compose.sh"
    
  3. インストールスクリプト作成 ※ ここがみそ
    install-docker-compose.sh
    #!/bin/sh -x
    
    sudo cp -p /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
    sudo sed -i -e "s/^mirrorlist=http:\/\/mirrorlist.centos.org/#mirrorlist=http:\/\/mirrorlist.centos.org/g" /etc/yum.repos.d/CentOS-Base.repo
    sudo sed -i -e "s/^#baseurl=http:\/\/mirror.centos.org/baseurl=http:\/\/ftp.riken.jp\/Linux\/centos-vault/g" /etc/yum.repos.d/CentOS-Base.repo
    sudo yum install -y https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm
    sudo service docker start
    
    # docker-compose 1.5.2 (CentOS6でサポートされている最終バージョン)
    sudo wget https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` -O /usr/local/bin/docker-compose -q
    sudo chmod +x /usr/local/bin/docker-compose # 実行権限を付与
    /usr/local/bin/docker-compose -v # バージョンが表示されること
    
    sudo usermod -aG docker vagrant # vagrantユーザーでdocker-composeを実行できるようにする
    
    /usr/local/bin/docker-compose -f "/vagrant/docker-compose.yml" up -d # 動作確認用のためdocker-composeのインストールとは関係ない
    
  4. 動作確認用のdocker-compose.yml作成 ※ バージョンが古いので構文も古い
    docker-compose.yml
    # MailCatcher用のコンテナ
    mailcatcher:
      image: schickling/mailcatcher
      ports:
        - "1080:1080"
        - "1025:1025"
      restart: always
    
  5. VM起動
    cmd
    vagrant up
    

所感

サポートが終了したものを使おうとするとリポジトリのリンク切れにぶち当たるからめちゃくちゃ大変。
そんな中サポート終了後もリポジトリを公開してくれているところがあってとても助かった。ただ、こちらもいつまで公開してくれるのか心配。。
今回の私の奮闘記が諸事情により困ってみる皆さんのお役に立てれば幸いです。