DockerClientpp
DockerClient.hpp
1 #ifndef DOCKER_CLIENT_PP_DOCKERCLIENT_H
2 #define DOCKER_CLIENT_PP_DOCKERCLIENT_H
3 
4 #include "Archive.hpp"
5 #include "ExecRet.hpp"
6 #include "Response.hpp"
7 #include "SimpleHttpClient.hpp"
8 #include "defines.hpp"
9 
10 namespace DockerClientpp {
11 
15 class DockerClient {
19  DockerClient(const DockerClient &) = delete;
23  DockerClient &operator=(const DockerClient &) = delete;
24 
25  public:
26  DockerClient(DockerClient &&) = default;
27 
28  ~DockerClient();
29 
30  public:
37  DockerClient(const SOCK_TYPE type = UNIX,
38  const string &path = "/var/run/docker.sock");
39 
47  void setAPIVersion(const string &api);
48 
56  string listImages();
57 
72  string createContainer(const json &config, const string &name = "");
73 
78  void startContainer(const string &identifier);
79 
84  void stopContainer(const string &identifier);
85 
93  void removeContainer(const string &identifier, bool remove_volume = false,
94  bool force = false, bool remove_link = false);
95 
105  string createExecution(const string &identifier, const json &config);
106 
119  string startExecution(const string &id, const json &config = {});
120 
127  string inspectExecution(const string &id);
128 
140  ExecRet executeCommand(const string &identifier, const vector<string> &cmd);
141 
149  void putFiles(const string &identifier, const vector<string> &files,
150  const string &path);
151 
159  void getFile(const string &identifier, const string &file,
160  const string &path);
161 
162  private:
163  class Impl;
164  unique_ptr<Impl> m_impl;
165 };
166 } // namespace DockerClientpp
167 
168 #endif /* DOCKER_CLIENT_PP_DOCKERCLIENT_H */
void startContainer(const string &identifier)
Start a stopped or created container.
string createExecution(const string &identifier, const json &config)
Set up an exec running instance in a running container.
string createContainer(const json &config, const string &name="")
Create a new container based on existing image.
Docker client class.
Definition: DockerClient.hpp:15
void putFiles(const string &identifier, const vector< string > &files, const string &path)
Put files to container.
Definition: Archive.hpp:6
ExecRet executeCommand(const string &identifier, const vector< string > &cmd)
Execute a command in a running container, like docker exec command.
string startExecution(const string &id, const json &config={})
Start a execution instance that is set up previously.
void getFile(const string &identifier, const string &file, const string &path)
Get file to container.
string inspectExecution(const string &id)
Inspect a execution instance.
void setAPIVersion(const string &api)
Set Docker daemon API version.
Definition: ExecRet.hpp:8
void stopContainer(const string &identifier)
Stop a running container.
void removeContainer(const string &identifier, bool remove_volume=false, bool force=false, bool remove_link=false)
Remove a container.
string listImages()
List all images.