Class: Docker::Container

Inherits:
Object show all
Defined in:
lib/ruuuby/ruuuby/api/docker/docker_container.rb

Overview

3ʳᵈ_party gem class

Instance Method Summary collapse

Instance Method Details

#alpine?Boolean

Returns:

  • (Boolean)


9
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 9

def alpine?; self.os == 'alpine'; end

#cmd!(cmd, timeout = 5) ⇒ String

Parameters:

Returns:

Raises:

  • (ArgumentError, RuntimeError)


111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 111

def cmd!(cmd, timeout=5)
  

#debian?Boolean

Returns:

  • (Boolean)


12
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 12

def debian?; self.os == 'debian'; end

#dev?Boolean

Returns:

  • (Boolean)


15
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 15

def dev?; self.env_vars['SERVICE_ENV'] == 'dev'; end

#envString

Returns:



21
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 21

def env; self.env_vars['SERVICE_ENV']; end

#env_varsHash

Returns:

Raises:

  • (RuntimeError)


75
76
77
78
79
80
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 75

def env_vars
  if @cached_env_vars == nil
    @cached_env_vars = self.info['Config']['Env'].convert_to_json
  end
  @cached_env_vars
end

#file_create(path_in_container, contents) ⇒ Docker::Container Also known as: ✏️📁, 📁_create

Returns self.

Parameters:

Returns:

Raises:

  • (ArgumentError)


88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 88

def file_create(path_in_container, contents)
  

#healthy?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 44

def healthy?
  self.env_vars['BUILD_ENV'] == self.env_vars['SERVICE_ENV']
end

#healthy_os?Boolean

Returns:

  • (Boolean)


49
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 49

def healthy_os?; self.linux_kernel_version == 'Linux version 4.19.76-linuxkit (root@4abe09437d05) (gcc version 8.3.0 (Alpine 8.3.0)) #1 SMP Tue May 26 11:42:35 UTC 2020'; end

#linux_kernel_versionString

Returns:



41
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 41

def linux_kernel_version; self.cmd!(%w(cat /proc/version)); end

#mountsHash, ...

Returns:



55
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 55

def mounts; self.info['Mounts']; end

#osString

Returns:



24
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 24

def os; self.env_vars['SERVICE_OS']; end

#os_architectureBoolean

Returns:

  • (Boolean)

Raises:

  • (RuntimeError)


29
30
31
32
33
34
35
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 29

def os_architecture
  if dev?
    self.cmd!(%w(dpkg --print-architecture))
  else
    

#os_versionString

Returns:



38
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 38

def os_version; self.env_vars['SERVICE_OS_VERSION']; end

#prod?Boolean

Returns:

  • (Boolean)


18
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 18

def prod?; self.env_vars['SERVICE_ENV'] == 'prod'; end

#tty?Boolean

Returns:

  • (Boolean)


70
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 70

def tty?; self.info['Config']['Tty']; end

#volumesHash, NilClass

Returns:



52
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 52

def volumes; self.info['Volumes']; end

#∃mount?(name, destination) ⇒ Boolean

Parameters:

Returns:

  • (Boolean)

Raises:

  • (ArgumentError)


63
64
65
66
67
# File 'lib/ruuuby/ruuuby/api/docker/docker_container.rb', line 63

def