Docker Client 使用说明文档

本文档详细介绍DockerClient软件的使用方法,包括软件下载、Docker链接(TCP和SSL)、镜像与容器操作等核心功能。适用于个人用户,提供镜像运行、删除,容器启动、停止、删除和日志查看等实用操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、软件下载

下载地址:Docker Client v1.2.2 远程链接工具 for windows x64
软件说明:已经下载过资源的可以在下方评论区留言邮箱,免费发送最新版本至对应邮箱。
安装方法:按照默认方式进行下一步安装即可。

备注:该软件为个人开发,没有进行杀毒软件认证,使用前请退出杀毒软件及Windows 10安全防护,以免被误删。

二、系统首页

系统首页

三、Dcoker链接

1. 使用TCP方式链接

    该方式是通过Docker远程直连方式进行连接,该方式存在一定的风险性,建议在测试环境或内网环境中使用,正式环境建议使用账号密码方式或SSL证书方式进行安全认证连接。

    该方式连接需要配置Docker开启远程访问,具体操作步骤请移步:Docker 开启远程链接(2375端口)提供外部访问【附:Docker远程链接操作工具 for windows x64】

点击主页左上角链接按钮,弹出如下界面,按照需求填写相关内容:
Tcp链接

备注:
名称:随意填写链接名称,用于区分多个链接信息。
地址:请输入Docker宿主机IP地址或域名,注意不要携带 http:// 字符
端口:请输入Docker开放的远程连接端口,默认端口:2375

2. 使用SSL(证书)方式连接

    该方式是使用openssl签发的证书及私钥进行加密连接,需要提前开启Docker SSL加密连接,具体操作步骤请移步:Docker 开启SSL证书加密远程链接

点击桌面右上角连接按钮后方的下拉三角按钮,选择SSL连接,弹出如下窗口:
在这里插入图片描述

备注:
名称:随意填写链接名称,用于区分多个链接信息。
地址:请输入Docker宿主机IP地址或域名,注意不要携带 http:// 字符
端口:请输入Docker开放的远程连接端口,默认端口:2375
证书:请选择openssl生成的客户端证书文件路径,具体移步:Docker 开启SSL证书加密远程链接
私钥:请选择openssl生成的客户端私钥文件路径,具体移步:Docker 开启SSL证书加密远程链接

3. 连接到Docker服务器

    通过以上方式添加连接后,选中左侧连接列表中某一项进行双击或右键菜单进行连接,连接成功后,默认加载Docker服务器下的镜像列表,效果如下:
在这里插入图片描述

四、镜像操作

1. 运行镜像

    选中需要运行的镜像,点击上方运行按钮或右键菜单运行,弹出如下界面:
在这里插入图片描述

备注:
容器名称:请随意填写,用于区分和操作容器。
容器端口:该处填写容器内部程序启动端口。
映射端口:该处填写宿主机映射端口,用于绑定容器内端口,该端口必须为非占用端口。

2. 删除镜像

    删除镜像前需要将所有依赖该镜像的容器进行删除,否则会提示删除失败。

五、容器操作

1. 容器列表界面

点击窗口工具栏容器按钮,切换如下界面:
在这里插入图片描述

2. 启动容器

选中要操作的容器,点击上方启动按钮或右键菜单启动。

3. 停止容器

选中要操作的容器,点击上方停止按钮或右键菜单停止。

4. 删除容器

选中要操作的容器,点击上方删除按钮或右键菜单删除,删除前需要将容器停止。

5. 查看日志

选中要操作的容器,点击上方查看日志按钮或右键菜单查看日志,弹出日志窗口。
在这里插入图片描述

六、软件声明

  • 本软件仅限个人用户使用,禁止商业用途。
  • 由操作问题造成的一切后果,作者不承担任何责任。
  • 本软件禁止其他用户私自上传至第三方平台进行出售。
  • 最终解释权为作者所有。
  • 软件持续更新中,需要的朋友可以在下方评论区留下邮箱。
### 如何在Java中使用DockerClient库 要在Java项目中集成并使用`docker-java`客户端库来管理Docker容器、镜像和其他资源,可以按照以下方法实现。 #### Maven依赖配置 首先,在Maven项目的`pom.xml`文件中引入`docker-java`库的相关依赖[^3]: ```xml <dependency> <groupId>com.github.docker-java</groupId> <artifactId>docker-java</artifactId> <version>3.1.5</version> </dependency> ``` 此版本号可能不是最新的,请根据实际需求调整到最新稳定版。 --- #### 初始化Docker客户端实例 创建一个连接本地或远程Docker守护进程的客户端对象。默认情况下,如果Docker运行在同一台机器上,则可以通过Unix套接字或者TCP/IP协议访问它。 以下是初始化Docker客户端的一个基本示例代码片段: ```java import com.github.dockerjava.api.DockerClient; import com.github.dockerjava.core.DockerClientBuilder; public class DockerExample { public static void main(String[] args) { // 创建Docker客户端,默认尝试通过环境变量读取配置信息 DockerClient dockerClient = DockerClientBuilder.getInstance().build(); System.out.println("Connected to Docker daemon."); // 关闭客户端(建议在finally块中执行) dockerClient.close(); } } ``` 上述代码展示了如何构建一个基础的Docker客户端实例,并确保最终关闭该会话以释放资源[^1]。 --- #### 列出所有正在运行的容器 下面是一个简单的例子,用于获取当前所有的活动容器列表及其ID和名称: ```java import com.github.dockerjava.api.model.Container; // 获取所有正在运行中的容器 List<Container> containers = dockerClient.listContainersCmd() .withStatusFilter(Collections.singleton("running")) .exec(); for (Container container : containers) { String id = container.getId(); // 容器唯一标识符 String name = container.getNames()[0]; // 容器名字 System.out.printf("Running Container ID: %s, Name: %s%n", id, name); } ``` 这段程序利用了`listContainersCmd()`命令过滤状态为“running”的容器集合,并打印它们的信息。 --- #### 下载新的Docker镜像 假如需要拉取一个新的官方Nginx Web服务器镜像至本地存储库,可采用如下方式完成操作: ```java try { dockerClient.pullImageCmd("nginx") // 镜像名 .withTag("latest") // 版本标签 .start(); // 开始下载过程 System.out.println("Successfully pulled Nginx image!"); } catch(Exception e){ System.err.println("Error while pulling nginx image:" + e.getMessage()); } ``` 这里调用了`pullImageCmd()`函数指定目标镜像以及其特定标记来进行同步加载动作。 --- #### 启动新容器 启动基于已存在镜像的新容器也是常见的任务之一。例如,我们可以这样定义参数并激活一个交互式的Ubuntu终端模拟窗口: ```java HostConfig hostConfig = HostConfig.newHostConfig() .withPublishAllPorts(true); CreateContainerResponse response = dockerClient.createContainerCmd("ubuntu") .withCmd("/bin/bash") .withHostConfig(hostConfig) .exec(); String containerId = response.getId(); System.out.println("Created new Ubuntu container with ID: "+containerId); dockerClient.startContainerCmd(containerId).exec(); System.out.println("Started the newly created container..."); ``` 在此处我们设置了公开全部端口映射选项并通过`createContainerCmd()`生成了一个关联于Ubuntu基础系统的空白Bash shell实例。 --- #### 停止与移除容器 当不再需要某个具体容器的时候,应该及时停止它的运作并将之彻底删除以免占用不必要的计算资源: ```java dockerClient.stopContainerCmd(containerId).exec(); System.out.println("Stopped container successfully."); dockerClient.removeContainerCmd(containerId).exec(); System.out.println("Removed container permanently."); ``` 这两步分别对应着暂停指定实体的工作流程以及销毁对应的磁盘数据结构。 --- ### 总结 以上就是关于如何借助`docker-java` SDK库从头搭建直至清理整个生命周期内的各种典型场景下的处理办法概述。更多高级功能如网络设置、卷挂载等都可以参照官方文档进一步探索学习。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

举个栗子の不容易

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值