testcontainers-1.12.1.jar
登录
|
org.testcontainers:testcontainers:1.12.1
META-INF
org
testcontainers
lifecycle
Testcontainers.java
utility
DockerClientFactory.java
images
containers
dockerclient
DockerMachineClientProviderStrategy.java
LogToStringContainerCallback.java
InvalidConfigurationException.java
DockerClientConfigUtils.java
NpipeSocketClientProviderStrategy.java
EnvironmentAndSystemPropertyClientProviderStrategy.java
AuditLoggingDockerClient.java
auth
UnixSocketClientProviderStrategy.java
ProxiedUnixSocketClientProviderStrategy.java
DockerClientProviderStrategy.java
WindowsClientProviderStrategy.java
transport
UnixSocketClientProviderStrategy.java
清空
类结构
// Generated by delombok at Sun Sep 08 08:37:39 UTC 2019 package org.testcontainers.dockerclient; import com.github.dockerjava.core.
DefaultDockerClientConfig
; import com.github.dockerjava.core.
DockerClientConfig
; import org.apache.commons.
lang
.
SystemUtils
; import org.jetbrains.annotations.
NotNull
; import org.testcontainers.utility.
ComparableVersion
; import java.io.
IOException
; import java.nio.file.
Files
; import java.nio.file.
Path
; import java.nio.file.
Paths
; public class
UnixSocketClientProviderStrategy
extends
DockerClientProviderStrategy
{ @java.lang.
SuppressWarnings
("all") private static final org.slf4j.
Logger
log
= org.slf4j.
LoggerFactory
.
getLogger
(
UnixSocketClientProviderStrategy
.class); protected static final
String
DOCKER_SOCK_PATH
= "/var/run/docker.sock"; private static final
String
SOCKET_LOCATION
= "unix://" +
DOCKER_SOCK_PATH
; private static final int
SOCKET_FILE_MODE_MASK
= 49152; private static final
String
PING_TIMEOUT_DEFAULT
= "10"; private static final
String
PING_TIMEOUT_PROPERTY_NAME
= "testcontainers.unixsocketprovider.timeout"; public static final int
PRIORITY
=
EnvironmentAndSystemPropertyClientProviderStrategy
.
PRIORITY
- 20; @
Override
protected boolean
isApplicable
() { final boolean
nettyDoesSupportMacUnixSockets
=
SystemUtils
.
IS_OS_MAC_OSX
&&
ComparableVersion
.
OS_VERSION
.
isGreaterThanOrEqualTo
("10.12"); return
SystemUtils
.
IS_OS_LINUX
||
nettyDoesSupportMacUnixSockets
; } @
Override
public void
test
() throws
InvalidConfigurationException
{ try {
config
=
tryConfiguration
(
SOCKET_LOCATION
);
log
.
info
("Accessing docker with local Unix socket"); } catch (
Exception
|
UnsatisfiedLinkError
e
) { throw new
InvalidConfigurationException
("ping failed",
e
); } } @
NotNull
protected
DockerClientConfig
tryConfiguration
(
String
dockerHost
) {
Path
dockerSocketFile
=
Paths
.
get
(
DOCKER_SOCK_PATH
);
Integer
mode
; try {
mode
= (
Integer
)
Files
.
getAttribute
(
dockerSocketFile
, "unix:mode"); } catch (
IOException
e
) { throw new
InvalidConfigurationException
("Could not find unix domain socket",
e
); } if ((
mode
& 49152) !=
SOCKET_FILE_MODE_MASK
) { throw new
InvalidConfigurationException
("Found docker unix domain socket but file mode was not as expected (expected: srwxr-xr-x). This problem is possibly due to occurrence of this issue in the past: https://github.com/docker/docker/issues/13121"); }
config
=
DefaultDockerClientConfig
.
createDefaultConfigBuilder
().
withDockerHost
(
dockerHost
).
withDockerTlsVerify
(false).
build
();
client
=
getClientForConfig
(
config
); final int
timeout
=
Integer
.
parseInt
(
System
.
getProperty
(
PING_TIMEOUT_PROPERTY_NAME
,
PING_TIMEOUT_DEFAULT
));
ping
(
client
,
timeout
); return
config
; } @
Override
public
String
getDescription
() { return "local Unix socket (" +
SOCKET_LOCATION
+ ")"; } @
Override
protected int
getPriority
() { return
PRIORITY
; } }
查找资源
Jre/Lib
输入类名或文件名
类结构窗口