docker-compose 로 시작하는 명령어는 Docker Compose 의 v1 명령어로 더 이상 업데이트를 지원하지 않으므로, 사용하지 않는 것을 권장한다.
docker compose 로 시작하는 명령어는 Docker Compose 의 v2 명령어로, 이 명령어를 사용한다.
명령어는 compose.yml 파일이 존재하는 디렉토리에서 실행해야 한다!
1. compose 파일 작성
- compose-practice/compose.yml
services:
websever:
container_name: webserver
image: nginx
ports:
- 80:80
2. compose.yml 에서 정의한 컨테이너 실행
# docker compose up : compose.yml 에 정의된 컨테이너 포그라운드에서 실행 (이미지 빌드X)
# docker compose up -d : compose.yml 에 정의된 컨테이너 백그라운드에서 실행 (이미지 빌드X)
- Windows PowerShell
PS C:\Users\admin> cd .\compose-practice\
PS C:\Users\admin\compose-practice> docker compose up # 포그라운드에서 실행
[+] up 2/2
✔ Network compose-practice_default Created 0.0s
✔ Container webserver Created 0.1s
Attaching to webserver
webserver | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
webserver | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
webserver | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
webserver | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
webserver | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
webserver | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
webserver | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
webserver | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
webserver | /docker-entrypoint.sh: Configuration complete; ready for start up
webserver | 2026/05/25 02:11:17 [notice] 1#1: using the "epoll" event method
webserver | 2026/05/25 02:11:17 [notice] 1#1: nginx/1.31.1
webserver | 2026/05/25 02:11:17 [notice] 1#1: built by gcc 14.2.0 (Debian 14.2.0-19)
webserver | 2026/05/25 02:11:17 [notice] 1#1: OS: Linux 6.6.114.1-microsoft-standard-WSL2
webserver | 2026/05/25 02:11:17 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker processes
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 29
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 30
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 31
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 32
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 33
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 34
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 35
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 36
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 37
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 38
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 39
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 40
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 41
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 42
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 43
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 44
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 45
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 46
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 47
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 48
Gracefully Stopping... press Ctrl+C again to force
Container webserver Stopping
Container webserver Stopped
PS C:\Users\admin\compose-practice> docker compose up -d # 백그라운드에서 실행
[+] up 1/1
✔ Container webserver Started 0.2s
What's next:
Filter, search, and stream logs from all your Compose servicesWatch d Detach
in one place with Docker Desktop's Logs view. docker-desktop://dashboard/logs?appId=compose-practice
PS C:\Users\admin\compose-practice> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ad50b38770b1 nginx "/docker-entrypoint.…" 31 seconds ago Up 14 seconds 0.0.0.0:80->80/tcp, [::]:80->80/tcp webserver
3. Docker Compose 로 실행시킨 컨테이너 확인
# docker compose ps : compose.yml 에 정의된 컨테이너 중 실행 중인 컨테이너 조회
# docker compose ps -a : compose.yml 에 정의된 모든 컨테이너 조회
- Windows PowerShell
# compose.yml에 정의된 컨테이너 중 실행 중인 컨테이너만 보여준다.
PS C:\Users\admin\compose-practice> docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
webserver nginx "/docker-entrypoint.…" websever 4 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp, [::]:80->80/tcp
# compose.yml에 정의된 모든 컨테이너를 보여준다.
PS C:\Users\admin\compose-practice> docker compose ps -a
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
webserver nginx "/docker-entrypoint.…" websever 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp, [::]:80->80/tcp
4. Docker Compose 로그 확인
# docker compose logs : compose.yml 에 정의된 모든 컨테이너 로그 조회
- Windows PowerShell
# compose.yml에 정의된 모든 컨테이너의 로그를 모아서 출력한다.
PS C:\Users\admin\compose-practice> docker compose logs
webserver | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
webserver | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
webserver | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
webserver | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
webserver | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
webserver | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
webserver | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
webserver | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
webserver | /docker-entrypoint.sh: Configuration complete; ready for start up
webserver | 2026/05/25 02:11:17 [notice] 1#1: using the "epoll" event method
webserver | 2026/05/25 02:11:17 [notice] 1#1: nginx/1.31.1
webserver | 2026/05/25 02:11:17 [notice] 1#1: built by gcc 14.2.0 (Debian 14.2.0-19)
webserver | 2026/05/25 02:11:17 [notice] 1#1: OS: Linux 6.6.114.1-microsoft-standard-WSL2
webserver | 2026/05/25 02:11:17 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker processes
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 29
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 30
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 31
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 32
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 33
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 34
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 35
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 36
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 37
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 38
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 39
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 40
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 41
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 42
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 43
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 44
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 45
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 46
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 47
webserver | 2026/05/25 02:11:17 [notice] 1#1: start worker process 48
webserver | 2026/05/25 02:11:29 [notice] 1#1: signal 3 (SIGQUIT) received, shutting down
webserver | 2026/05/25 02:11:29 [notice] 29#29: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 30#30: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 31#31: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 29#29: exiting
webserver | 2026/05/25 02:11:29 [notice] 30#30: exiting
webserver | 2026/05/25 02:11:29 [notice] 32#32: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 31#31: exiting
webserver | 2026/05/25 02:11:29 [notice] 33#33: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 32#32: exiting
webserver | 2026/05/25 02:11:29 [notice] 33#33: exiting
webserver | 2026/05/25 02:11:29 [notice] 30#30: exit
webserver | 2026/05/25 02:11:29 [notice] 29#29: exit
webserver | 2026/05/25 02:11:29 [notice] 31#31: exit
webserver | 2026/05/25 02:11:29 [notice] 33#33: exit
webserver | 2026/05/25 02:11:29 [notice] 32#32: exit
webserver | 2026/05/25 02:11:29 [notice] 46#46: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 46#46: exiting
webserver | 2026/05/25 02:11:29 [notice] 46#46: exit
webserver | 2026/05/25 02:11:29 [notice] 34#34: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 34#34: exiting
webserver | 2026/05/25 02:11:29 [notice] 34#34: exit
webserver | 2026/05/25 02:11:29 [notice] 40#40: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 40#40: exiting
webserver | 2026/05/25 02:11:29 [notice] 42#42: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 40#40: exit
webserver | 2026/05/25 02:11:29 [notice] 42#42: exiting
webserver | 2026/05/25 02:11:29 [notice] 42#42: exit
webserver | 2026/05/25 02:11:29 [notice] 35#35: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 36#36: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 35#35: exiting
webserver | 2026/05/25 02:11:29 [notice] 36#36: exiting
webserver | 2026/05/25 02:11:29 [notice] 43#43: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 43#43: exiting
webserver | 2026/05/25 02:11:29 [notice] 36#36: exit
webserver | 2026/05/25 02:11:29 [notice] 43#43: exit
webserver | 2026/05/25 02:11:29 [notice] 37#37: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 37#37: exiting
webserver | 2026/05/25 02:11:29 [notice] 37#37: exit
webserver | 2026/05/25 02:11:29 [notice] 38#38: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 38#38: exiting
webserver | 2026/05/25 02:11:29 [notice] 38#38: exit
webserver | 2026/05/25 02:11:29 [notice] 48#48: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 48#48: exiting
webserver | 2026/05/25 02:11:29 [notice] 48#48: exit
webserver | 2026/05/25 02:11:29 [notice] 44#44: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 44#44: exiting
webserver | 2026/05/25 02:11:29 [notice] 39#39: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 44#44: exit
webserver | 2026/05/25 02:11:29 [notice] 39#39: exiting
webserver | 2026/05/25 02:11:29 [notice] 39#39: exit
webserver | 2026/05/25 02:11:29 [notice] 47#47: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 47#47: exiting
webserver | 2026/05/25 02:11:29 [notice] 47#47: exit
webserver | 2026/05/25 02:11:29 [notice] 41#41: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 41#41: exiting
webserver | 2026/05/25 02:11:29 [notice] 41#41: exit
webserver | 2026/05/25 02:11:29 [notice] 45#45: gracefully shutting down
webserver | 2026/05/25 02:11:29 [notice] 45#45: exiting
webserver | 2026/05/25 02:11:29 [notice] 45#45: exit
webserver | 2026/05/25 02:11:29 [notice] 35#35: exit
webserver | 2026/05/25 02:11:29 [notice] 1#1: signal 17 (SIGCHLD) received from 33
webserver | 2026/05/25 02:11:29 [notice] 1#1: worker process 33 exited with code 0
webserver | 2026/05/25 02:11:29 [notice] 1#1: worker process 36 exited with code 0
webserver | 2026/05/25 02:11:29 [notice] 1#1: signal 29 (SIGIO) received
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 31
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 31 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 29 (SIGIO) received
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 35
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 35 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 29 (SIGIO) received
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 34
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 32 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 34 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 37 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 38 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 41 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 42 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 46 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 29 (SIGIO) received
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 41
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 39
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 39 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 29 (SIGIO) received
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 47
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 30 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 43 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 44 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 47 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 29 (SIGIO) received
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 30
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 40
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 29 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 40 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 48 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 29 (SIGIO) received
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 29
webserver | 2026/05/25 02:11:30 [notice] 1#1: signal 17 (SIGCHLD) received from 45
webserver | 2026/05/25 02:11:30 [notice] 1#1: worker process 45 exited with code 0
webserver | 2026/05/25 02:11:30 [notice] 1#1: exit
webserver | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
webserver | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
webserver | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
webserver | 10-listen-on-ipv6-by-default.sh: info: IPv6 listen already enabled
webserver | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
webserver | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
webserver | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
webserver | /docker-entrypoint.sh: Configuration complete; ready for start up
webserver | 2026/05/25 02:11:34 [notice] 1#1: using the "epoll" event method
webserver | 2026/05/25 02:11:34 [notice] 1#1: nginx/1.31.1
webserver | 2026/05/25 02:11:34 [notice] 1#1: built by gcc 14.2.0 (Debian 14.2.0-19)
webserver | 2026/05/25 02:11:34 [notice] 1#1: OS: Linux 6.6.114.1-microsoft-standard-WSL2
webserver | 2026/05/25 02:11:34 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker processes
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 22
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 23
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 24
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 25
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 26
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 27
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 28
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 29
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 30
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 31
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 32
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 33
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 34
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 35
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 36
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 37
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 38
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 39
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 40
webserver | 2026/05/25 02:11:34 [notice] 1#1: start worker process 41
What's next:
Filter, search, and stream logs from all your Compose services
in one place with Docker Desktop's Logs view. docker-desktop://dashboard/logs?appId=compose-practice
컨테이너 이름을 "webserver | " 형식으로 구분하여 확인할 수 있다.
5. 컨테이너 실행 전 이미지 재빌드
# docker compose up --build : compose.yml 에 정의된 컨테이너 포그라운드에서 실행 (이미지 빌드O)
# docker compose up --build -d : compose.yml 에 정의된 컨테이너 백그라운드에서 실행 (이미지 빌드O)
compose.yml 에서 정의한 이미지 파일에서 코드가 변경되었을 경우, 이미지를 다시 빌드하여 컨테이너를 실행해야 변경 사항이 적용된다.
* docker compose up vs docker compose up --build
· docker compose up : 이미지가 없을 때만 빌드하여 컨테이너 실행. 이미지가 존재하면 이미지를 빌드하지 않고 컨테이너 실행
· docker compose up --build : 이미지 유무 상관없이 무조건 빌드 후 컨테이너 실행
- Windows PowerShell
PS C:\Users\admin\compose-practice> docker compose up --build # 포그라운드에서 실행
[+] up 1/1
✔ Container webserver Running 0.0s
Attaching to webserver
Gracefully Stopping... press Ctrl+C again to force
Container webserver Stopping
Container webserver Stopped
PS C:\Users\admin\compose-practice> docker compose up --build -d # 백그라운드에서 실행
[+] up 1/1
✔ Container webserver Started 0.2s
What's next:
Filter, search, and stream logs from all your Compose services
in one place with Docker Desktop's Logs view. docker-desktop://dashboard/logs?appId=compose-practice
6. 이미지 다운로드 및 업데이트
# docker compose pull : compose.yml 에 정의된 이미지 다운로드 및 업데이트
로컬 환경에 이미지가 없다면 다운로드
로컬 환경에 이미지가 있고, Docker Hub 의 이미지와 다른 경우 로컬 환경 이미지 업데이트
- Windows PowerShell
PS C:\Users\admin\compose-practice> docker compose pull
[+] pull 1/1
✔ Image nginx Pulled
7. Docker Compose 로 실행시킨 컨테이너 중지 후 삭제
# docker compose down : compose.yml 에 정의된 컨테이너 중지 후 삭제
- Windows PowerShell
PS C:\Users\admin\compose-practice> docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
webserver nginx "/docker-entrypoint.…" websever 14 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp, [::]:80->80/tcp
PS C:\Users\admin\compose-practice> docker compose down
[+] down 2/2
✔ Container webserver Removed 0.4s
✔ Network compose-practice_default Removed 0.2s
PS C:\Users\admin\compose-practice> docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
PS C:\Users\admin\compose-practice> docker compose ps -a
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
PS C:\Users\admin\compose-practice> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
PS C:\Users\admin\compose-practice> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
47c438563cdb my-server "/bin/bash -c 'sleep…" 7 days ago Exited (0) 7 days ago nice_matsumoto
10b3825e00f9 my-node-server "/bin/bash -c 'sleep…" 11 days ago Exited (0) 11 days ago pensive_ride
e8f1ab86997c my-jdk17-server "/bin/bash -c 'sleep…" 11 days ago Exited (0) 11 days ago tender_ride
비전공자도 이해할 수 있는 Docker 입문/실전| JSCODE 박재성 - 인프런 강의
현재 평점 4.9점 수강생 14,482명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 Docker 입문/실전 강의를 만들어봤습니다! Docker 기본 개념, Spring Boot를
www.inflearn.com
'강의 실습 > 비전공자도 이해할 수 있는 Docker 입문 실전' 카테고리의 다른 글
| [실습] Docker Compose로 MySQL 실행시키기 (1) | 2026.05.27 |
|---|---|
| [실습] Docker Compose로 Redis 실행시키기 (0) | 2026.05.26 |
| [실습] Docker Compose 전체 흐름 느껴보기 (Nginx 설치 및 실행) (0) | 2026.05.23 |
| Docker Compose를 사용하는 이유 (0) | 2026.05.22 |
| [실습] 웹 프론트엔드 프로젝트(HTML, CSS, Nginx)를 Docker로 배포하기 (0) | 2026.05.21 |
댓글