Docker开启tcp监听

📅 发布时间:2026/7/4 14:30:46 👁️ 浏览次数:
Docker开启tcp监听
sudomkdir-p /etc/systemd/system/docker.service.dsudovim/etc/systemd/system/docker.service.d/override.conf添加下面的内容[Service]ExecStartExecStart/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd/run/containerd/containerd.sock创建daemon.json我也不知道为啥一定要创建这个才行不创建这个文件它就直接原地爆炸。。。。sudotee/etc/docker/daemon.jsonEOF {} EOFsudosystemctl daemon-reloadsudosystemctl restartdockerpackagecn.meowrain.aioj.backend.judge.biz;importcom.github.dockerjava.api.DockerClient;importcom.github.dockerjava.api.command.PingCmd;importcom.github.dockerjava.core.DefaultDockerClientConfig;importcom.github.dockerjava.core.DockerClientConfig;importcom.github.dockerjava.core.DockerClientImpl;importcom.github.dockerjava.httpclient5.ApacheDockerHttpClient;importorg.junit.jupiter.api.Test;importorg.springframework.boot.test.context.SpringBootTest;importjava.io.IOException;importjava.time.Duration;importstaticorg.junit.jupiter.api.Assertions.*;/** * Docker 连接测试类 */SpringBootTestpublicclassDockerConnectionTest{/** * 测试远程 Docker TCP 连接 * 配置在 application.yml 中: judge.sandbox.docker.host */TestpublicvoidtestDockerConnection(){// 从配置中读取 Docker 主机地址StringdockerHosttcp://192.168.42.129:2375;// 修改为你的 Linux 服务器 IPSystem.out.println(正在连接 Docker: dockerHost);DockerClientConfigconfigDefaultDockerClientConfig.createDefaultConfigBuilder().withDockerHost(dockerHost).build();ApacheDockerHttpClienthttpClientnewApacheDockerHttpClient.Builder().dockerHost(config.getDockerHost()).sslConfig(config.getSSLConfig()).maxConnections(10).connectionTimeout(Duration.ofSeconds(30)).responseTimeout(Duration.ofSeconds(45)).build();DockerClientdockerClientDockerClientImpl.getInstance(config,httpClient);try{// 测试连接PingCmdpingCmddockerClient.pingCmd();pingCmd.exec();System.out.println(Docker 连接成功!);// 获取 Docker 信息varinfodockerClient.infoCmd().exec();System.out.println(Docker 版本: info.getServerVersion());System.out.println(操作系统: info.getOperatingSystem());System.out.println(容器数量: info.getContainers());System.out.println(镜像数量: info.getImages());assertNotNull(info);}catch(Exceptione){System.err.println(Docker 连接失败: e.getMessage());e.printStackTrace();fail(Docker 连接失败: e.getMessage());}finally{try{dockerClient.close();}catch(IOExceptione){System.err.println(关闭 Docker 客户端失败: e.getMessage());}}}}