Java で Docker のディレクトリをマウントする方法

JavaのDockerクライアントAPIを使用して、dockerのディレクトリのマウントが可能です。以下に、JavaのDockerクライアントAPI使用して、dockerのディレクトリのマウントを行うサンプルコードを示します。

  1. まず、pom.xmlファイルにdocker-javaの依存関係を追加していることを確認します。
<dependency>
    <groupId>com.github.docker-java</groupId>
    <artifactId>docker-java</artifactId>
    <version>3.2.10</version>
</dependency>
  1. Dockerクライアントオブジェクトを作成します。
import com.github.dockerjava.api.DockerClient;
import com.github.dockerjava.core.DockerClientBuilder;
import com.github.dockerjava.core.DockerClientConfig;

DockerClientConfig config = DockerClientConfig.createDefaultConfigBuilder().build();
DockerClient dockerClient = DockerClientBuilder.getInstance(config).build();
  1. createContainerコマンド
  2. bindsと
import com.github.dockerjava.api.command.CreateContainerResponse;
import com.github.dockerjava.api.model.Bind;

CreateContainerResponse container = dockerClient.createContainerCmd("image_name")
    .withBinds(Bind.parse("/host/dir:/container/dir"))
    .exec();

ホストマシンの/host/dirはホストマシンのディレクトリパス、/container/dirはコンテナ内のディレクトリパスです。この方法により、ホストマシンの/host/dirディレクトリをコンテナの/container/dirディレクトリにマウントできます。

  1. コンテナを開始する。
dockerClient.startContainerCmd(container.getId()).exec();

上記のコードを使用すると、JavaでDockerディレクトリをマウントできます。ただし、image_name、/host/dir、/container/dirなど、状況に応じてパラメーターを置き換える必要があります。

bannerAds