3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/deploy_doc/docker.rb', line 3
def self.cmd(configuration, envs, cmd, = [])
data_dir = if configuration.data_dir == "."
Dir.pwd
else
configuration.data_dir
end
docker_cmd = [
"docker",
"run",
"-it",
"--rm",
envs,
"-v#{data_dir}:/deploy_doc/data/",
"-w/deploy_doc/data/"
]
docker_socket_protocol, docker_socket_address = configuration.docker_socket.split("://",2)
case docker_socket_protocol
when "unix"
docker_cmd.push "-v#{docker_socket_address}:/var/run/docker.sock"
when "tcp"
docker_cmd.push "-e DOCKER_HOST='#{configuration.docker_socket}'"
else
raise DeployDocError.new("Unkown docker socket protocol '#{docker_socket_protocol}'")
end
docker_cmd +=
docker_cmd += [configuration.docker_image, cmd]
docker_cmd.join(" ")
end
|