c:\docker> docker network ls
NETWORK ID NAME DRIVER SCOPE
3f136e1ec867 bridge bridge local ⇒ 도커 컨테이너가 기본적으로 연결되는 네트워크
내부 IP 주소 할당 및 컨테이너 간 통신을 지원
9505699bab3c host host local ⇒ 컨테이너가 호스트의 네트워크 스택을 공유하므로
호스트와 동일한 네트워크에서 실행
ff4d6edba532 none null local ⇒ 네트워크 연결을 생성하지 않고,
컨테이너는 완전히 격리된 상태로 실행
overay ⇒ 멀티 호스트 환경에서 컨테이너간 통신을 가능하게 하는 도커 네트워크
여러 도커 호스트 간에 컨테이너를 연결하고, 컨테이너 간의 통신을 지원
####컨테이너가 사용하고 있는 네트워크를 확인
c:\docker> docker container run -d --name my-todo-app myanjini/react-todo-app:v1
c:\docker> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
713569cf00a6 myanjini/react-todo-app:v1 "/docker-entrypoint.…" 9 seconds ago Up 7 seconds 80/tcp my-todo-app
c:\docker> docker container inspect my-todo-app
[
{
"Id": "713569cf00a684cd81ed49df7c728d44f3cf8063f3b7f5e1e0a161d41a408be5",
"Created": "2025-02-13T00:44:12.773153238Z",
"Path": "/docker-entrypoint.sh",
"Args": [
"nginx",
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 30912,
"ExitCode": 0,
"Error": "",
"StartedAt": "2025-02-13T00:44:13.594716978Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:3799680c990545bb83c1c56d07cbee49679a1a9d5923abbf4ffb3f2ba82e6555",
"ResolvConfPath": "/var/lib/docker/containers/713569cf00a684cd81ed49df7c728d44f3cf8063f3b7f5e1e0a161d41a408be5/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/713569cf00a684cd81ed49df7c728d44f3cf8063f3b7f5e1e0a161d41a408be5/hostname",
"HostsPath": "/var/lib/docker/containers/713569cf00a684cd81ed49df7c728d44f3cf8063f3b7f5e1e0a161d41a408be5/hosts",
"LogPath": "/var/lib/docker/containers/713569cf00a684cd81ed49df7c728d44f3cf8063f3b7f5e1e0a161d41a408be5/713569cf00a684cd81ed49df7c728d44f3cf8063f3b7f5e1e0a161d41a408be5-json.log",
...(생략)...
"NetworkSettings": {
"Bridge": "",
"SandboxID": "a96d20a976d378b4635587500a2accf4fdc3501eb0220002cf0f3b4df0337825",
"SandboxKey": "/var/run/docker/netns/a96d20a976d3",
"Ports": {
"80/tcp": null
},
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "0b2bda8203d21dfb62db3c9adfffe7f3b462a6bf965d55ada78a7272dd94429f",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.4",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:04",
"Networks": {
"bridge": { ⇐ 컨테이너가 사용하고 있는 네트워크 이름
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "02:42:ac:11:00:04",
"DriverOpts": null,
"NetworkID": "3f136e1ec867000c9d4201f39a2f75473acf250a8143db030aeb71d6743e7540",
"EndpointID": "0b2bda8203d21dfb62db3c9adfffe7f3b462a6bf965d55ada78a7272dd94429f",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.4",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": null
}
}
}
}
]
c:\docker> docker network inspect bridge
[
{
"Name": "bridge",
"Id": "3f136e1ec867000c9d4201f39a2f75473acf250a8143db030aeb71d6743e7540",
"Created": "2025-02-10T23:02:45.633271593Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16", ⇒ 172.17.0.0 ~ 172.17.255.255 ⇒ 2^16 호스트
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"713569cf00a684cd81ed49df7c728d44f3cf8063f3b7f5e1e0a161d41a408be5": {
"Name": "my-todo-app",
"EndpointID": "0b2bda8203d21dfb62db3c9adfffe7f3b462a6bf965d55ada78a7272dd94429f",
"MacAddress": "02:42:ac:11:00:04",
"IPv4Address": "172.17.0.4/16",
"IPv6Address": ""
},
"a9db188f04b24aa7885bfc113ec4fa553b39dd333069663b616c111a974f2a1e": {
"Name": "wordpressdb",
"EndpointID": "62e160f79bb4de33b4ffb581cd9616b62e7889cffea5fb5a615b450df11b9251",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"e29f099f192cacecd2256f8885745adeb205ebe4cccea81988a8ddc585e5d215": {
"Name": "recursing_beaver",
"EndpointID": "519108d3c1ee0b6db8ec95257d8a2db891ef4390835acfcf921d23e8f399bb2b",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
c:\docker> docker network create --driver=bridge web-network
~~~~~~~~~~~~~~~ ~~~~~~~~~~~
종류 이름
b7d6c9060165ed5ac87a7c624b803743af9778d872348258fd0950c20b595e35
c:\docker> docker network ls
NETWORK ID NAME DRIVER SCOPE
3f136e1ec867 bridge bridge local
9505699bab3c host host local
ff4d6edba532 none null local
b7d6c9060165 web-network bridge local
c:\docker> docker network inspect web-network
[
{
"Name": "web-network",
"Id": "b7d6c9060165ed5ac87a7c624b803743af9778d872348258fd0950c20b595e35",
"Created": "2025-02-13T01:01:08.29466813Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
c:\docker> docker network connect web-network my-todo-app
c:\docker> docker container inspect my-todo-app
[
...(생략)
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "02:42:ac:11:00:04",
"DriverOpts": null,
"NetworkID": "3f136e1ec867000c9d4201f39a2f75473acf250a8143db030aeb71d6743e7540",
"EndpointID": "0b2bda8203d21dfb62db3c9adfffe7f3b462a6bf965d55ada78a7272dd94429f",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.4",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": null
},
"web-network": {
"IPAMConfig": {},
"Links": null,
"Aliases": [],
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": {},
"NetworkID": "b7d6c9060165ed5ac87a7c624b803743af9778d872348258fd0950c20b595e35",
"EndpointID": "abf4ce311ccf7963b6bbee00e5b1b0982fbdd2252c41a8e5a2e8f172cf271eaa",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": [
"my-todo-app",
"713569cf00a6"
]
}
}
}
}
]
c:\docker> docker network rm web-network
Error response from daemon: error while removing network: network web-network id b7d6c9060165ed5ac87a7c624b803743af9778d872348258fd0950c20b595e35 has active endpoints
⇐ 해당 네트워크를 사용하고 있는 컨테이너가 존재하기 때문에 삭제할 수 없음
컨테이너를 네트워크에서 분리한 후 네트워크를 삭제
c:\docker> docker network disconnect web-network my-todo-app
c:\docker> docker network rm web-network
web-network
c:\docker> docker network ls
NETWORK ID NAME DRIVER SCOPE
3f136e1ec867 bridge bridge local
9505699bab3c host host local
ff4d6edba532 none null local
c:\docker> docker container run -d -p 80 --name my-todo-app-2 --net=mybridgenetwork myanjini/react-todo-app:v1
43d03698e919fcb8677033cfc2e1296902d28b8db40370776a8eef46832e264a ⇐ 컨테이너는 생성(create)되었으나
docker: Error response from daemon: network mybridgenetwork not found. 실행(start) 시 오류로 종료
c:\docker> docker network create --driver=bridge mybridgenetwork ⇐ 네트워크 생성
d3d89b30834c5575b1bf2e8a75d57e3ce9ae7b999596efaa309d48e0228eb1cc
c:\docker> docker network ls ⇐ 네트워크 생성 확인
NETWORK ID NAME DRIVER SCOPE
3f136e1ec867 bridge bridge local
9505699bab3c host host local
d3d89b30834c mybridgenetwork bridge local
ff4d6edba532 none null local
c:\docker> docker container run -d -p 80 --name my-todo-app-2 --net=mybridgenetwork myanjini/react-todo-app:v1
docker: Error response from daemon: Conflict. The container name "/my-todo-app-2" is already in use by container "43d03698e919fcb8677033cfc2e1296902d28b8db40370776a8eef46832e264a". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.
c:\docker> docker container run -d -p 80 --name my-todo-app-3 --net=mybridgenetwork
myanjini/react-todo-app:v1 ⇐ 이름을 변경해서 컨테이너 실행
6e18ca3ec346eb128b17aa99a0092c06b8ad2ad2644939667a087d1fe8261582
c:\docker> docker container inspect my-todo-app-3
[
... (생략)...
"Networks": {
"mybridgenetwork": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"MacAddress": "02:42:ac:12:00:02",
"DriverOpts": null,
"NetworkID": "d3d89b30834c5575b1bf2e8a75d57e3ce9ae7b999596efaa309d48e0228eb1cc",
"EndpointID": "fdce172a2fd12795c55f2103afc5bbaede76f30341598e06fae0e7a1bf388cc1",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"DNSNames": [
"my-todo-app-3",
"6e18ca3ec346"
]
}
}
}
}
]
c:\docker> docker container run -itd --name mycentos centos
c:\docker> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa66bcd1f0fc centos "/bin/bash" 13 seconds ago Up 11 seconds mycentos
6e18ca3ec346 myanjini/react-todo-app:v1 "/docker-entrypoint.…" 6 minutes ago Up 6 minutes 0.0.0.0:55733->80/tcp my-todo-app-3
713569cf00a6 myanjini/react-todo-app:v1 "/docker-entrypoint.…" 33 minutes ago Up 33 minutes 80/tcp my-todo-app
e29f099f192c wordpress "docker-entrypoint.s…" 18 hours ago Up 18 hours 0.0.0.0:55438->80/tcp recursing_beaver
a9db188f04b2 mysql:5.7 "docker-entrypoint.s…" 18 hours ago Up 18 hours 3306/tcp, 33060/tcp wordpressdb
C:\docker> docker container inspect -f "{{range .NetworkSettings.Networks}}{{print .IPAddress}} ({{print .NetworkID}}){{end}}" mycentos
172.17.0.5 (3f136e1ec867000c9d4201f39a2f75473acf250a8143db030aeb71d6743e7540)
C:\docker> docker container inspect -f "{{range .NetworkSettings.Networks}}{{print .IPAddress}} ({{print .NetworkID}}){{end}}" my-todo-app
172.17.0.4 (3f136e1ec867000c9d4201f39a2f75473acf250a8143db030aeb71d6743e7540)
C:\docker> docker container inspect -f "{{range .NetworkSettings.Networks}}{{print .IPAddress}} ({{print .NetworkID}}){{end}}" my-todo-app-3
172.18.0.2 (d3d89b30834c5575b1bf2e8a75d57e3ce9ae7b999596efaa309d48e0228eb1cc)
⇒ centos, my-todo-app 컨테이너는 동일 네트워크(172.17.x.x)를 사용하고 있음
PS C:\docker> docker container exec mycentos ping -c 3 172.17.0.4
~~~~~~~~~~
PING 172.17.0.4 (172.17.0.4) 56(84) bytes of data. my-todo-app 컨테이너의 IP 주소
64 bytes from 172.17.0.4: icmp_seq=1 ttl=64 time=0.062 ms
64 bytes from 172.17.0.4: icmp_seq=2 ttl=64 time=0.081 ms
64 bytes from 172.17.0.4: icmp_seq=3 ttl=64 time=0.080 ms
--- 172.17.0.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2046ms
rtt min/avg/max/mdev = 0.062/0.074/0.081/0.011 ms
PS C:\docker> docker container exec mycentos ping -c 3 172.18.0.2
~~~~~~~~~~
my-todo-app-3 컨테이너의 IP 주소
PING 172.18.0.2 (172.18.0.2) 56(84) bytes of data.
--- 172.18.0.2 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2092ms
PS C:\docker> docker network connect mybridgenetwork mycentos
PS C:\docker> docker container exec mycentos ping -c 3 172.17.0.4
PING 172.17.0.4 (172.17.0.4) 56(84) bytes of data.
64 bytes from 172.17.0.4: icmp_seq=1 ttl=64 time=0.091 ms
64 bytes from 172.17.0.4: icmp_seq=2 ttl=64 time=0.059 ms
64 bytes from 172.17.0.4: icmp_seq=3 ttl=64 time=0.079 ms
--- 172.17.0.4 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2052ms
rtt min/avg/max/mdev = 0.059/0.076/0.091/0.015 ms
PS C:\docker> docker container exec mycentos ping -c 3 172.18.0.2
PING 172.18.0.2 (172.18.0.2) 56(84) bytes of data.
64 bytes from 172.18.0.2: icmp_seq=1 ttl=64 time=0.411 ms
64 bytes from 172.18.0.2: icmp_seq=2 ttl=64 time=0.094 ms
64 bytes from 172.18.0.2: icmp_seq=3 ttl=64 time=0.074 ms
--- 172.18.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2110ms
rtt min/avg/max/mdev = 0.074/0.193/0.411/0.154 ms
https://docs.docker.com/compose/
Docker Compose is a tool for defining and running multi-container applications.
PS C:\docker> docker-compose --help ⇐ 이전 버전에는 docker-compose 명령어가 별도로 존재
Usage: docker compose [OPTIONS] COMMAND
Define and run multi-container applications with Docker
Options:
--all-resources Include all resources, even those not
used by services
--ansi string Control when to print ANSI control
characters ("never"|"always"|"auto")
(default "auto")
--compatibility Run compose in backward compatibility mode
--dry-run Execute command in dry run mode
--env-file stringArray Specify an alternate environment file
-f, --file stringArray Compose configuration files
--parallel int Control max parallelism, -1 for
unlimited (default -1)
--profile stringArray Specify a profile to enable
--progress string Set type of progress output (auto,
tty, plain, json, quiet) (default "auto")
--project-directory string Specify an alternate working directory
(default: the path of the, first
specified, Compose file)
-p, --project-name string Project name
Commands:
attach Attach local standard input, output, and error streams to a service's running container
build Build or rebuild services
commit Create a new image from a service container's changes
config Parse, resolve and render compose file in canonical format
cp Copy files/folders between a service container and the local filesystem
create Creates containers for a service
down Stop and remove containers, networks
events Receive real time events from containers
exec Execute a command in a running container
export Export a service container's filesystem as a tar archive
images List images used by the created containers
kill Force stop service containers
logs View output from containers
ls List running compose projects
pause Pause services
port Print the public port for a port binding
ps List containers
pull Pull service images
push Push service images
restart Restart service containers
rm Removes stopped service containers
run Run a one-off command on a service
scale Scale services
start Start services
stats Display a live stream of container(s) resource usage statistics
stop Stop services
top Display the running processes
unpause Unpause services
up Create and start containers
version Show the Docker Compose version information
wait Block until containers of all (or specified) services stop.
watch Watch build context for service and rebuild/refresh containers when files are updated
Run 'docker compose COMMAND --help' for more information on a command.
version: "3.3"
services:
wordpressdb:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wordpress
volumes:
- wordpressdb_data:/var/lib/mysql
wordpress:
depends_on:
- wordpressdb
image: wordpress
ports:
- 8888:80
environment:
WORDPRESS_DB_HOST: wordpressdb:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: password
volumes:
wordpressdb_data: {}
c:\docker\docker_compose> docker compose up -d
time="2025-02-13T11:07:41+09:00" level=warning msg="c:\\docker\\docker_compose\\docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Running 4/4
✔ Network docker_compose_default Created 0.1s
✔ Volume "docker_compose_wordpressdb_data" Created 0.0s
✔ Container docker_compose-wordpressdb-1 Started 1.0s
✔ Container docker_compose-wordpress-1 Started 1.3s
c:\docker\docker_compose> docker compose ls
NAME STATUS CONFIG FILES
docker_compose running(2) c:\docker\docker_compose\docker-compose.yaml
c:\docker\docker_compose> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
087867b72319 wordpress "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:8888->80/tcp docker_compose-wordpress-1
418020410ad6 mysql:5.7 "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 33060/tcp docker_compose-wordpressdb-1
c:\docker\docker_compose> docker compose down
time="2025-02-13T11:12:13+09:00" level=warning msg="c:\\docker\\docker_compose\\docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Running 3/3
✔ Container docker_compose-wordpress-1 Removed 1.6s
✔ Container docker_compose-wordpressdb-1 Removed 2.2s
✔ Network docker_compose_default Removed 0.2s
c:\docker\docker_compose> docker compose up -d --scale wordpress=3
time="2025-02-13T11:14:32+09:00" level=warning msg="c:\\docker\\docker_compose\\docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Running 4/5
✔ Network docker_compose_default Created 0.0s
✔ Container docker_compose-wordpressdb-1 Started 0.7s
✔ Container docker_compose-wordpress-3 Created 0.2s
- Container docker_compose-wordpress-1 Starting 1.0s
✔ Container docker_compose-wordpress-2 Started 1.0s
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:8888 -> 0.0.0.0:0: listen tcp 0.0.0.0:8888: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
c:\docker\docker_compose> docker compose down
time="2025-02-13T11:15:43+09:00" level=warning msg="c:\\docker\\docker_compose\\docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Running 5/5
✔ Container docker_compose-wordpress-3 Removed 0.1s
✔ Container docker_compose-wordpress-2 Removed 1.6s
✔ Container docker_compose-wordpress-1 Removed 0.1s
✔ Container docker_compose-wordpressdb-1 Removed 1.8s
✔ Network docker_compose_default Removed 0.2s
version: "3.3"
services:
wordpressdb:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wordpress
volumes:
- wordpressdb_data:/var/lib/mysql
wordpress:
depends_on:
- wordpressdb
image: wordpress
ports:
- 80
environment:
WORDPRESS_DB_HOST: wordpressdb:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: password
volumes:
wordpressdb_data: {}
c:\docker\docker_compose> docker compose up -d --scale wordpress=3
time="2025-02-13T11:17:34+09:00" level=warning msg="c:\\docker\\docker_compose\\docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Running 5/5
✔ Network docker_compose_default Created 0.0s
✔ Container docker_compose-wordpressdb-1 Started 0.5s
✔ Container docker_compose-wordpress-3 Started 1.8s
✔ Container docker_compose-wordpress-1 Started 0.8s
✔ Container docker_compose-wordpress-2 Started 1.3s
c:\docker\docker_compose> docker compose ls
NAME STATUS CONFIG FILES
docker_compose running(4) c:\docker\docker_compose\docker-compose.yaml
c:\docker\docker_compose> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0c9fac5fe3e0 wordpress "docker-entrypoint.s…" 29 seconds ago Up 28 seconds 0.0.0.0:59700->80/tcp docker_compose-wordpress-1
7d03337339f8 wordpress "docker-entrypoint.s…" 29 seconds ago Up 27 seconds 0.0.0.0:59701->80/tcp docker_compose-wordpress-2
24221b705cfb wordpress "docker-entrypoint.s…" 29 seconds ago Up 27 seconds 0.0.0.0:59704->80/tcp docker_compose-wordpress-3
569b0af1ef00 mysql:5.7 "docker-entrypoint.s…" 29 seconds ago Up 28 seconds 3306/tcp, 33060/tcp docker_compose-wordpressdb-1
c:\docker\docker_compose> docker compose up -d --scale wordpress=10
time="2025-02-13T11:19:25+09:00" level=warning msg="c:\\docker\\docker_compose\\docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Running 11/11
✔ Container docker_compose-wordpressdb-1 Running 0.0s
✔ Container docker_compose-wordpress-1 Running 0.0s
✔ Container docker_compose-wordpress-2 Running 0.0s
✔ Container docker_compose-wordpress-3 Running 0.0s
✔ Container docker_compose-wordpress-10 Started 0.6s
✔ Container docker_compose-wordpress-7 Started 2.7s
✔ Container docker_compose-wordpress-4 Started 2.3s
✔ Container docker_compose-wordpress-8 Started 3.2s
✔ Container docker_compose-wordpress-9 Started 1.9s
✔ Container docker_compose-wordpress-5 Started 1.4s
✔ Container docker_compose-wordpress-6 Started 1.1s
c:\docker\docker_compose> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89892a7915a8 wordpress "docker-entrypoint.s…" 42 seconds ago Up 41 seconds 0.0.0.0:59815->80/tcp docker_compose-wordpress-10
29fed68f8ca3 wordpress "docker-entrypoint.s…" 42 seconds ago Up 40 seconds 0.0.0.0:59816->80/tcp docker_compose-wordpress-6
67fe632f2d6c wordpress "docker-entrypoint.s…" 42 seconds ago Up 40 seconds 0.0.0.0:59817->80/tcp docker_compose-wordpress-5
62b739319ff6 wordpress "docker-entrypoint.s…" 42 seconds ago Up 40 seconds 0.0.0.0:59818->80/tcp docker_compose-wordpress-9
e781eb0e1de7 wordpress "docker-entrypoint.s…" 42 seconds ago Up 39 seconds 0.0.0.0:59820->80/tcp docker_compose-wordpress-4
2b61ea86ea0c wordpress "docker-entrypoint.s…" 42 seconds ago Up 39 seconds 0.0.0.0:59821->80/tcp docker_compose-wordpress-7
edb93732edb9 wordpress "docker-entrypoint.s…" 42 seconds ago Up 38 seconds 0.0.0.0:59822->80/tcp docker_compose-wordpress-8
0c9fac5fe3e0 wordpress "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:59700->80/tcp docker_compose-wordpress-1
7d03337339f8 wordpress "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:59701->80/tcp docker_compose-wordpress-2
24221b705cfb wordpress "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:59704->80/tcp docker_compose-wordpress-3
569b0af1ef00 mysql:5.7 "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 3306/tcp, 33060/tcp docker_compose-wordpressdb-1
c:\docker\docker_compose> docker compose up -d --scale wordpress=5
time="2025-02-13T11:20:45+09:00" level=warning msg="c:\\docker\\docker_compose\\docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[+] Running 11/11
✔ Container docker_compose-wordpressdb-1 Running 0.0s
✔ Container docker_compose-wordpress-1 Running 0.0s
✔ Container docker_compose-wordpress-2 Running 0.0s
✔ Container docker_compose-wordpress-3 Running 0.0s
✔ Container docker_compose-wordpress-4 Running 0.0s
✔ Container docker_compose-wordpress-5 Running 0.0s
✔ Container docker_compose-wordpress-10 Removed 2.1s
✔ Container docker_compose-wordpress-6 Removed 2.6s
✔ Container docker_compose-wordpress-8 Removed 2.2s
✔ Container docker_compose-wordpress-7 Removed 2.4s
✔ Container docker_compose-wordpress-9 Removed 2.7s
Why is service/container name resolution not possible on the default bridge network?
There's no technical reason this would not be possible, but a decision to keep backward compatibility.
The default ("bridge") network never supported service discovery through a built in DNS, and when the feature was under development, maintainers of some projects raised concerns that they did not want this added on the default network, as it would block alternative implementations.
기본 브리지 네트워크에서 서비스/컨테이너 이름 확인이 불가능한 이유는 무엇입니까?
기술적으로 이것이 불가능할 이유는 없지만, 이전 버전과의 호환성을 유지하기 위한 결정입니다.
기본("브리지") 네트워크는 내장 DNS를 통한 서비스 검색을 지원하지 않았으며, 해당 기능이 개발 중일 때 일부 프로젝트의 유지 관리자는 이 기능이 기본 네트워크에 추가되면 대체 구현이 차단될 것이라며 우려를 표명했습니다.
또한, 사용자 지정 네트워크는 컨테이너가 통신할 수 있도록 명시적으로 허용하도록 설계되었습니다. 기본 네트워크에서 이는 "컨테이너 간 통신"( --icc=false)을 비활성화하고 --link컨테이너 간에 링크를 설정하는 데 사용하여 달성됩니다. 기본 네트워크에 연결된 모든 컨테이너에 대한 자동 검색을 사용하면 사용하기가 훨씬 더 복잡해집니다.
사용자 지정 네트워크를 만들어서 t_jpa_user 테이블에 하나넣고 진행하니까 잘되는것 같습니다!
https://stackoverflow.com/questions/41400603/dockers-embedded-dns-on-the-default-bridged-network