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
DockerClientConfigUtils.java
清空
类结构
// Generated by delombok at Sun Sep 08 08:37:39 UTC 2019 package org.testcontainers.dockerclient; import com.github.dockerjava.core.
DockerClientConfig
; import org.apache.commons.
lang
.
StringUtils
; import org.testcontainers.
DockerClientFactory
; import java.io.
File
; import java.util.
Optional
; import static java.util.concurrent.
TimeUnit
.
SECONDS
; public class
DockerClientConfigUtils
{ @java.lang.
SuppressWarnings
("all") private static final org.slf4j.
Logger
log
= org.slf4j.
LoggerFactory
.
getLogger
(
DockerClientConfigUtils
.class); // See https://github.com/docker/docker/blob/a9fa38b1edf30b23cae3eade0be48b3d4b1de14b/daemon/initlayer/setup_unix.go#L25 public static final boolean
IN_A_CONTAINER
= new
File
("/.dockerenv").
exists
(); @
Deprecated
private static final java.util.concurrent.atomic.
AtomicReference
<java.lang.
Object
>
detectedDockerHostIp
= new java.util.concurrent.atomic.
AtomicReference
<java.lang.
Object
>(); private static final java.util.concurrent.atomic.
AtomicReference
<java.lang.
Object
>
defaultGateway
= new java.util.concurrent.atomic.
AtomicReference
<java.lang.
Object
>(); public static
String
getDockerHostIpAddress
(
DockerClientConfig
config
) { switch (
config
.
getDockerHost
().
getScheme
()) { case "http": case "https": case "tcp": return
config
.
getDockerHost
().
getHost
(); case "unix": case "npipe": if (
IN_A_CONTAINER
) { return
getDefaultGateway
().
orElse
("localhost"); } return "localhost"; default: return null; } } @java.lang.
Deprecated
@java.lang.
SuppressWarnings
("all") public static
Optional
<
String
>
getDetectedDockerHostIp
() { java.lang.
Object
value
=
DockerClientConfigUtils
.
detectedDockerHostIp
.
get
(); if (
value
== null) { synchronized (
DockerClientConfigUtils
.
detectedDockerHostIp
) {
value
=
DockerClientConfigUtils
.
detectedDockerHostIp
.
get
(); if (
value
== null) { final
Optional
<
String
>
actualValue
=
IN_A_CONTAINER
?
getDefaultGateway
() :
Optional
.
empty
();
value
=
actualValue
== null ?
DockerClientConfigUtils
.
detectedDockerHostIp
:
actualValue
;
DockerClientConfigUtils
.
detectedDockerHostIp
.
set
(
value
); } } } return (
Optional
<
String
>) (
value
==
DockerClientConfigUtils
.
detectedDockerHostIp
? null :
value
); } @java.lang.
SuppressWarnings
("all") public static
Optional
<
String
>
getDefaultGateway
() { java.lang.
Object
value
=
DockerClientConfigUtils
.
defaultGateway
.
get
(); if (
value
== null) { synchronized (
DockerClientConfigUtils
.
defaultGateway
) {
value
=
DockerClientConfigUtils
.
defaultGateway
.
get
(); if (
value
== null) { final
Optional
<
String
>
actualValue
=
Optional
.
ofNullable
(
DockerClientFactory
.
instance
().
runInsideDocker
(
cmd
->
cmd
.
withCmd
("sh", "-c", "ip route|awk \'/default/ { print $3 }\'"), (
client
,
id
) -> { try {
LogToStringContainerCallback
loggingCallback
= new
LogToStringContainerCallback
();
client
.
logContainerCmd
(
id
).
withStdOut
(true).
withFollowStream
(true).
exec
(
loggingCallback
).
awaitStarted
();
loggingCallback
.
awaitCompletion
(3,
SECONDS
); return
loggingCallback
.
toString
(); } catch (
Exception
e
) {
log
.
warn
("Can\'t parse the default gateway IP",
e
); return null; } })).
map
(
StringUtils
::
trimToEmpty
).
filter
(
StringUtils
::
isNotBlank
);
value
=
actualValue
== null ?
DockerClientConfigUtils
.
defaultGateway
:
actualValue
;
DockerClientConfigUtils
.
defaultGateway
.
set
(
value
); } } } return (
Optional
<
String
>) (
value
==
DockerClientConfigUtils
.
defaultGateway
? null :
value
); } }
查找资源
Jre/Lib
输入类名或文件名
类结构窗口