| 169 | |
| 170 | |
| 171 | Try<DockerContainerizer*> DockerContainerizer::create( |
| 172 | const Flags& flags, |
| 173 | Fetcher* fetcher, |
| 174 | const Option<NvidiaComponents>& nvidia) |
| 175 | { |
| 176 | // Create and initialize the container logger module. |
| 177 | Try<ContainerLogger*> logger = |
| 178 | ContainerLogger::create(flags.container_logger); |
| 179 | |
| 180 | if (logger.isError()) { |
| 181 | return Error("Failed to create container logger: " + logger.error()); |
| 182 | } |
| 183 | |
| 184 | Try<Owned<Docker>> create = Docker::create( |
| 185 | flags.docker, |
| 186 | flags.docker_socket, |
| 187 | true, |
| 188 | flags.docker_config); |
| 189 | |
| 190 | if (create.isError()) { |
| 191 | return Error("Failed to create docker: " + create.error()); |
| 192 | } |
| 193 | |
| 194 | Shared<Docker> docker = create->share(); |
| 195 | |
| 196 | // TODO(tnachen): We should also mark the work directory as shared |
| 197 | // mount here, more details please refer to MESOS-3483. |
| 198 | |
| 199 | return new DockerContainerizer( |
| 200 | flags, |
| 201 | fetcher, |
| 202 | Owned<ContainerLogger>(logger.get()), |
| 203 | docker, |
| 204 | nvidia); |
| 205 | } |
| 206 | |
| 207 | |
| 208 | DockerContainerizer::DockerContainerizer( |
nothing calls this directly
no test coverage detected