module DockerizeRails::DockerCommands::DockerStart
Public Class Methods
start_mysql()
click to toggle source
# File lib/dockerize_rails/docker_commands/docker_start.rb, line 27 def self.start_mysql return 0 unless DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'mysql' services = DockerHelpers.services_from_docker_compose begin container = Docker::Container.get(DockerHelpers.get_name(:mysql, :container)) if container.info['State']['Running'] puts " ==> Container >#{DockerHelpers.get_name(:mysql, :container)}< already running.".yellow else docker_start_container(container, services['mysql'], :mysql) puts " ==> Container >#{DockerHelpers.get_name(:mysql, :container)}< started successfully".green end 0 rescue Docker::Error::NotFoundError services.key?('mysql') && docker_start(services['mysql'], :mysql) puts " ==> Container >#{DockerHelpers.get_name(:mysql, :container)}< started successfully".green 0 rescue Docker::Error::NotFoundError => exception puts puts exception.to_s.red puts 1 end end
start_postgres()
click to toggle source
# File lib/dockerize_rails/docker_commands/docker_start.rb, line 51 def self.start_postgres return 0 unless DRConfig.linked_database? && DRConfig.databases[DRConfig.application_env] == 'postgresql' services = DockerHelpers.services_from_docker_compose begin container = Docker::Container.get(DockerHelpers.get_name(:postgres, :container)) if container.info['State']['Running'] puts " ==> Container >#{DockerHelpers.get_name(:postgres, :container)}< already running.".yellow else docker_start_container(container, services['postgresql'], :postgres) puts " ==> Container >#{DockerHelpers.get_name(:postgres, :container)}< started successfully".green end 0 rescue Docker::Error::NotFoundError services.key?('postgresql') && docker_start(services['postgresql'], :postgres) puts " ==> Container >#{DockerHelpers.get_name(:postgres, :container)}< started successfully".green 0 rescue Docker::Error::NotFoundError => exception puts puts exception.to_s.red puts 1 end end
start_rails()
click to toggle source
# File lib/dockerize_rails/docker_commands/docker_start.rb, line 4 def self.start_rails services = DockerHelpers.services_from_docker_compose begin container = Docker::Container.get(DockerHelpers.get_name(:rails, :container)) if container.info['State']['Running'] puts " ==> Container >#{DockerHelpers.get_name(:rails, :container)}< already running.".yellow else docker_start_container(container, services['rails'], :rails) puts " ==> Container >#{DockerHelpers.get_name(:rails, :container)}< started successfully".green end 0 rescue Docker::Error::NotFoundError services.key?('rails') && docker_start(services['rails'], :rails) puts " ==> Container >#{DockerHelpers.get_name(:rails, :container)}< started successfully".green 0 rescue Docker::Error::NotFoundError => exception puts puts exception.to_s.red puts 1 end end
Private Class Methods
docker_start(definitions, service)
click to toggle source
# File lib/dockerize_rails/docker_commands/docker_start.rb, line 80 def self.docker_start(definitions, service) options = DockerHelpers.build_options(definitions, service) container = Docker::Container.create options binds = if definitions.key? 'volumes' { 'Binds' => definitions['volumes'].map do |volume| [if volume.split(':')[0].start_with?('/') volume.split(':')[0] else File.join(PATHS.current, volume.split(':')[0]) end, volume.split(':')[1], volume.length > 2 ? volume.split(':')[2] : 'rw'].join(':') end } end container.start binds end
docker_start_container(container, definitions, service)
click to toggle source
# File lib/dockerize_rails/docker_commands/docker_start.rb, line 75 def self.docker_start_container(container, definitions, service) options = DockerHelpers.build_options(definitions, service) container.start(options) end