Skip to content

Commit ed24c82

Browse files
committed
Docker provision to support centos guest, not RHEL guest
1 parent 4e7926f commit ed24c82

File tree

5 files changed

+35
-38
lines changed

5 files changed

+35
-38
lines changed

plugins/provisioners/docker/cap/redhat/docker_install.rb renamed to plugins/provisioners/docker/cap/centos/docker_install.rb

+7-15
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,9 @@
11
module VagrantPlugins
22
module DockerProvisioner
33
module Cap
4-
module Redhat
4+
module Centos
55
module DockerInstall
66
def self.docker_install(machine)
7-
flavor = machine.guest.capability("flavor")
8-
if flavor.to_s.include? "rhel"
9-
# rhel is not supported by docker ce
10-
# https://docs.docker.com/ee/docker-ee/rhel/
11-
machine.ui.warn(I18n.t("vagrant.provisioners.docker.rhel_not_supported"))
12-
raise DockerError, :install_failed
13-
end
14-
157
machine.communicate.tap do |comm|
168
comm.sudo("yum -q -y update")
179
comm.sudo("yum -q -y remove docker-io* || true")
@@ -21,22 +13,22 @@ def self.docker_install(machine)
2113
comm.sudo("yum install -y -q docker-ce")
2214
end
2315

24-
case flavor
25-
when :centos_7
26-
docker_enable_centos7(machine)
16+
case machine.guest.capability("flavor")
17+
when :centos
18+
docker_enable_service(machine)
2719
else
28-
docker_enable_default(machine)
20+
docker_enable_systemctl(machine)
2921
end
3022
end
3123

32-
def self.docker_enable_centos7(machine)
24+
def self.docker_enable_systemctl(machine)
3325
machine.communicate.tap do |comm|
3426
comm.sudo("systemctl start docker.service")
3527
comm.sudo("systemctl enable docker.service")
3628
end
3729
end
3830

39-
def self.docker_enable_default(machine)
31+
def self.docker_enable_service(machine)
4032
machine.communicate.tap do |comm|
4133
comm.sudo("service docker start")
4234
comm.sudo("chkconfig docker on")
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
module VagrantPlugins
2+
module DockerProvisioner
3+
module Cap
4+
module Centos
5+
module DockerStartService
6+
def self.docker_start_service(machine)
7+
case machine.guest.capability("flavor")
8+
when :centos
9+
machine.communicate.tap do |comm|
10+
comm.sudo("service docker start")
11+
comm.sudo("chkconfig docker on")
12+
end
13+
else
14+
machine.communicate.tap do |comm|
15+
comm.sudo("systemctl start docker.service")
16+
comm.sudo("systemctl enable docker.service")
17+
end
18+
end
19+
end
20+
end
21+
end
22+
end
23+
end
24+
end

plugins/provisioners/docker/cap/redhat/docker_start_service.rb

-16
This file was deleted.

plugins/provisioners/docker/plugin.rb

+4-4
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ class Plugin < Vagrant.plugin("2")
2929
Cap::Fedora::DockerInstall
3030
end
3131

32-
guest_capability("redhat", "docker_install") do
32+
guest_capability("centos", "docker_install") do
3333
require_relative "cap/redhat/docker_install"
34-
Cap::Redhat::DockerInstall
34+
Cap::Centos::DockerInstall
3535
end
3636

37-
guest_capability("redhat", "docker_start_service") do
37+
guest_capability("centos", "docker_start_service") do
3838
require_relative "cap/redhat/docker_start_service"
39-
Cap::Redhat::DockerStartService
39+
Cap::Centos::DockerStartService
4040
end
4141

4242
guest_capability("linux", "docker_installed") do

templates/locales/en.yml

-3
Original file line numberDiff line numberDiff line change
@@ -2821,9 +2821,6 @@ en:
28212821
provisioner
28222822
not_running: "Docker is not running on the guest VM."
28232823
install_failed: "Docker installation failed."
2824-
rhel_not_supported: |-
2825-
RHEL is now only supported by Docker EE. Please install Docker EE or
2826-
switch to the Podman provisioner to run containers on RHEL.
28272824

28282825
salt:
28292826
minion_config_nonexist: |-

0 commit comments

Comments
 (0)