はじめに
基本的にはセキュリティの観点からも最新のOS、最新のパッケージのものを使用した方がいい。
ただし、諸事情によりそうも言ってられない場合があるとおもう。そのため&自分のメモのためにもこちらの記事を残しておく。
※ サポート切れのもの使うわけだから何があっても自己責任
考え方としては古いOSには古いパッケージにしか相性が良くないのでバージョンを合わせてインストールすることが大事。
環境&使用したもの
- Windows11
- Oracle VM VirtualBox
- Vagrant
インストールできた方法
- Vagrantfile等の作成
cmd
vagrant init bento/centos-6.7 touch install-docker-compose.sh touch docker-compose.yml # 動作確認用のためdocker-composeのインストールとは関係ない
- スクリプトファイルの実行設定を追加
Vagrantfile
config.vm.provision "shell", path: "install-docker-compose.sh"
- インストールスクリプト作成 ※ ここがみそ
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のインストールとは関係ない
- 動作確認用のdocker-compose.yml作成 ※ バージョンが古いので構文も古い
docker-compose.yml
# MailCatcher用のコンテナ mailcatcher: image: schickling/mailcatcher ports: - "1080:1080" - "1025:1025" restart: always
- VM起動
cmd
vagrant up
所感
サポートが終了したものを使おうとするとリポジトリのリンク切れにぶち当たるからめちゃくちゃ大変。
そんな中サポート終了後もリポジトリを公開してくれているところがあってとても助かった。ただ、こちらもいつまで公開してくれるのか心配。。
今回の私の奮闘記が諸事情により困ってみる皆さんのお役に立てれば幸いです。
-
参考にさせていただいた記事などのLink集
-
試してみたけどうまくいかなかった方法
- vagrant-docker-compose を使用した方法 ⇒ yum updateしてと言われてやったけどうまくいかなかったので断念
- オフラインでインストールする方法 ⇒ CentOS6に適合する古いバージョンを探すことが出来なかったので断念
(docker-17.03.0-ce.tgz や docker-18.09.0.tgz を試したけどカーネルのバージョンが古いって言われた) - etc...