0
0

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.

VagrantでOracleLinux(7.x)にDockerをセットアップする

Last updated at Posted at 2020-10-10

目的

VagrantでOracleLinux(7.x)を立ち上げて、ついでにDockerのインストールと起動までやりたい。
(ホストはWindows10 HomeEdition。Vagrant、VirtualBoxはセットアップ済み)

Vagrant Boxの情報を調べる

以下のサイトで確認。Oracle Linux Vagrant boxのURLを確認。

Oracle Linux Vagrant boxes
https://yum.oracle.com/boxes/

今回はOracle Linux 7.x想定なので
https://oracle.github.io/vagrant-projects/boxes/oraclelinux/7.json
を使用する。

Oracle Linux へのDockerのインストール情報を調べる

Oracle Linux DockerではDocker-docs-jaに翻訳があるが、1.13.RCであり、現在はYumリポジトリの設定が異なりこの部分は参考にならない。
https://docs.docker.jp/engine/installation/linux/oracle.html

Dockerマニュアル(英語)のインストールマニュアルをみるとLinuxのディストリビューションの章からOracleLinuxがなくなっている。
https://docs.docker.com/engine/install/

以下blogにOracleLinuxのOracle yum repositoryの設定について言及がある。

A Simple Guide to docker installation on Oracle Linux 7.5 [Updated Oct 2019]
https://blogs.oracle.com/blogbypuneeth/a-simple-guide-to-docker-installation-on-oracle-linux-75

2020/10時点では、上記Boxで取得したOracleLinuxのyum repositoryの設定として「ol7_latest」「ol7_addons」がデフォルトで有効であり、特に追加で設定変更は不要であった。上記blogにある「ol7_UEKR4」は無効のままでも問題なかった。

Vagrantfile

Vagrantfileの例

Vagrant.configure("2") do |config|
  config.vm.box = "oraclelinux/7"
  config.vm.box_url = "https://oracle.github.io/vagrant-projects/boxes/oraclelinux/7.json"
  config.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2210
  config.vm.provider "virtualbox" do |vb|
   vb.memory = "8196"
  end
  config.vm.provision "shell", inline: <<-SHELL
i=1; while [ $i -le 10 ]; do echo $i;yum -y --disablerepo=* --enablerepo=ol7_addons,ol7_latest  install docker-engine;if [ $? -eq 0 ];then break;fi;i=$(expr $i + 1);done
systemctl start docker.service
systemctl enable docker.service
SHELL
end

ちょっと説明。

  • config.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2210
    • SSHポートフォワーディングを22→2210で設定。ホストのlocahostに2210ポートでssh接続。
  • vb.memory = "8196"
    • 割り当てメモリを8GBに。お好みで。
  • i=1; while [ $i -le 10 ]; do echo $i;yum -y --disablerepo=* --enablerepo=ol7_addons,ol7_latest install docker-engine;if [ $? -eq 0 ];then break;fi;i=$(expr $i + 1);done
    • 「yum -y docker-engine」 だけでよいはず。ここでは、yumのupdateに時間がかかるので必要なレポジトリのみに絞る。また一度ではなぜか成功せず何度かやると成功することがあったので、成功するまで(リトライ上限10回)繰り返しとした。
  • systemctl start docker.service  
  • systemctl enable docker.service
    • Dockerサービスの起動と自動起動の有効化

Vagrant 起動

> vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'oraclelinux/7'...
<中略>

> vagrant ssh

Welcome to Oracle Linux Server release 7.8 (GNU/Linux 4.14.35-2025.400.8.el7uek.x86_64)

The Oracle Linux End-User License Agreement can be viewed here:

  * /usr/share/eula/eula.en_US

For additional packages, updates, documentation and community help, see:

  * https://yum.oracle.com/

[vagrant@localhost ~]$ sudo su -
[root@localhost ~]# docker version
Client: Docker Engine - Community
 Version:           19.03.11-ol
 API version:       1.40
 Go version:        go1.14.7
 Git commit:        78418d7
 Built:             Tue Aug 18 22:46:21 2020
 OS/Arch:           linux/amd64
 Experimental:      false
<以下略>

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?