1. Docker CLI 로 배포
1) 프로젝트 셋팅
Spring initializr : https://start.spring.io/
Project: Gradle - Groovy
Language: Java
Spring Boot: 4.0.6
Project Metadata)
Group: com.example (보통 기업 도메인 들어감)
Artifact: docker-ec2-spring-boot-server (빌드 결과물, 프로젝트명)
Package name: com.example.docker-ec2-spring-boot-server
Packaging: Jar
Configuration: YAML
Java: 17
Dependencies(사용할 라이브러리): Spring Web(웹 프로젝트), Spring Boot DevTools
Java 17 버전을 선택
2) 간단한 코드 작성
- src/main/java/com/example/docker_ec2_spring_boot_server/AppController.java
package com.example.docker_ec2_spring_boot_server;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AppController {
@GetMapping("/")
public String home() {
return "Hello, World!";
}
}
3) Dockerfile 작성
- Dockerfile
# FROM openjdk:17-jdk
FROM eclipse-temurin:17-jdk
COPY build/libs/*SNAPSHOT.jar /app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]
컨테이너 절대 경로 사용
4) Spring Boot 프로젝트 빌드
- Windows PowerShell
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> ./gradlew clean build
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
BUILD SUCCESSFUL in 12s
8 actionable tasks: 7 executed, 1 up-to-date
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.5.1/userguide/configuration_cache_enabling.html
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com
Login Succeeded
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> docker build -t docker-server .
[+] Building 4.1s (8/8) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.1s
=> => transferring dockerfile: 189B 0.0s
=> [internal] load metadata for docker.io/library/eclipse-temurin:17-jdk 1.3s
=> [auth] library/eclipse-temurin:pull token for registry-1.docker.io 0.0s
=> [internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> [internal] load build context 1.5s
=> => transferring context: 19.81MB 1.5s
=> CACHED [1/2] FROM docker.io/library/eclipse-temurin:17-jdk@sha256:b04a8c5d46e210873ffd1af6ad5f4d62c69ed3a6736993556eae60bba1373a23 0.1s
=> => resolve docker.io/library/eclipse-temurin:17-jdk@sha256:b04a8c5d46e210873ffd1af6ad5f4d62c69ed3a6736993556eae60bba1373a23 0.1s
=> [2/2] COPY build/libs/*SNAPSHOT.jar /app.jar 0.1s
=> exporting to image 0.9s
=> => exporting layers 0.5s
=> => exporting manifest sha256:e8f1f829591ebe06b7b769499726765e5764c8317db7bf68ec632e57772c0e91 0.0s
=> => exporting config sha256:dc82e1287a088b76c8f1aee9786e011f09567cfd0b09ff7e4831d593f0ee41a8 0.0s
=> => exporting attestation manifest sha256:30a7e2443be496bdcd3f48f01f156c255ef9e189cb59ea501efbbf9a29740162 0.1s
=> => exporting manifest list sha256:58b03d0db56f2ba4c9b896b5a03b88b2077c842f2da72d84af39ca3c3eef8cdb 0.0s
=> => naming to docker.io/library/docker-server:latest 0.0s
=> => unpacking to docker.io/library/docker-server:latest 0.1s
View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/kl9ztdxm5vr2x1xsu8584yi5y
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> docker tag docker-server:latest 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> docker push 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
The push refers to repository [984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server]
0179dfb07a7d: Layer already exists
1c24335ddd46: Layer already exists
2513cd7e09b0: Pushed
84184eda653f: Pushed
1074d15b60c9: Layer already exists
f2355d8d10e0: Layer already exists
a32c42059121: Layer already exists
6f5c5aa4e145: Layer already exists
latest: digest: sha256:58b03d0db56f2ba4c9b896b5a03b88b2077c842f2da72d84af39ca3c3eef8cdb size: 856
5) AWS EC2에서 AWS CLI 설치 및 액세스 키 등록
참고 : https://stbhg5.tistory.com/1067
[실습] AWS ECR(Elastic Container Registry) 사용해보기
1. AWS CLI 설치 최신 버전의 AWS CLI 설치 또는 업데이트 : https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html 최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface이전 버전에서
stbhg5.tistory.com
- 터미널
# AWS CLI 설치
$ sudo apt install unzip
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
$ aws --version # 잘 출력된다면 정상 설치된 상태
# AWS CLI로 액세스 키 등록
$ aws configure
AWS Access Key ID [None]: 액세스 키
AWS Secret Access Key [None]: 비밀 액세스 키
Default region name [None]: ap-northeast-2
Default output format [None]:
6) AWS ECR 로부터 이미지 다운받아 컨테이너 띄우기
- Ubuntu
ubuntu@ip-172-31-41-193:~$ aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com
WARNING! Your credentials are stored unencrypted in '/home/ubuntu/.docker/config.json'.
Configure a credential helper to remove this warning. See
https://docs.docker.com/go/credential-store/
Login Succeeded
ubuntu@ip-172-31-41-193:~$ docker pull 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
latest: Pulling from docker-server
84184eda653f: Pull complete
6f5c5aa4e145: Pull complete
1c24335ddd46: Pull complete
1074d15b60c9: Pull complete
0179dfb07a7d: Pull complete
f2355d8d10e0: Pull complete
a32c42059121: Pull complete
2513cd7e09b0: Download complete
Digest: sha256:58b03d0db56f2ba4c9b896b5a03b88b2077c842f2da72d84af39ca3c3eef8cdb
Status: Downloaded newer image for 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
ubuntu@ip-172-31-41-193:~$ docker image ls
i Info → U In Use
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest 58b03d0db56f 719MB 230MB
ubuntu@ip-172-31-41-193:~$ docker run -d -p 8080:8080 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
6b7b2be15c1dfa502096ac32ea6eaf8187f8466c47ab7b6208f706a93942b7aa
* 에러 발생한다면?
에러 메시지 : WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested
CPU 아키텍처 환경이 다르다는 뜻으로, 이미지 빌드는 맥북 M1과 같은 ARM 기반 환경에서 진행하고, 이미지 실행은 ARM 기반 환경이 아닌 곳에서 할 때 위와 같은 에러가 발생한다.
에러 해결을 위해서, 이미지를 실행시키고자 하는 CPU 아키텍처에 맞춰 이미지를 빌드해야 한다. 로컬 환경에서 다시 빌드한 뒤 AWS ECR 로 push 한다.
- Windows PowerShell
$ ./gradlew clean build
$ aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com
$ docker build --platform linux/amd64 -t docker-server .
$ docker tag docker-server:latest 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
$ docker push 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
* AWS EC2 의 CPU 아키텍처 확인하는 방법
- Ubuntu
ubuntu@ip-172-31-41-193:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
CPU family: 6
Model: 79
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
Stepping: 1
BogoMIPS: 4599.99
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq s
sse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm pti fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt
Virtualization features:
Hypervisor vendor: Xen
Virtualization type: full
Caches (sum of all):
L1d: 32 KiB (1 instance)
L1i: 32 KiB (1 instance)
L2: 256 KiB (1 instance)
L3: 45 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0
Vulnerabilities:
Gather data sampling: Not affected
Ghostwrite: Not affected
Indirect target selection: Mitigation; Aligned branch/return thunks
Itlb multihit: KVM: Mitigation: VMX unsupported
L1tf: Mitigation; PTE Inversion
Mds: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Meltdown: Mitigation; PTI
Mmio stale data: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Old microcode: Not affected
Reg file data sampling: Not affected
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Vulnerable
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Retpoline
Srbds: Not affected
Tsa: Not affected
Tsx async abort: Not affected
Vmscape: Not affected
x86_64 = linux/amd64
7) 잘 작동하는 지 확인
- Ubuntu
ubuntu@ip-172-31-41-193:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b7b2be15c1d 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest "java -jar /app.jar" 3 minutes ago Up 2 minutes 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp adoring_visvesvaraya
ubuntu@ip-172-31-41-193:~$ docker logs 6b7b
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v4.0.6)
2026-06-09T13:59:02.014Z INFO 1 --- [docker-ec2-spring-boot-server] [ main] e.d.DockerEc2SpringBootServerApplication : Starting DockerEc2SpringBootServerApplication v0.0.1-SNAPSHOT using Java 17.0.19 with PID 1 (/app.jar started by root in /)
2026-06-09T13:59:02.028Z INFO 1 --- [docker-ec2-spring-boot-server] [ main] e.d.DockerEc2SpringBootServerApplication : No active profile set, falling back to 1 default profile: "default"
2026-06-09T13:59:03.838Z INFO 1 --- [docker-ec2-spring-boot-server] [ main] o.s.boot.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http)
2026-06-09T13:59:03.863Z INFO 1 --- [docker-ec2-spring-boot-server] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2026-06-09T13:59:03.864Z INFO 1 --- [docker-ec2-spring-boot-server] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/11.0.21]
2026-06-09T13:59:04.204Z INFO 1 --- [docker-ec2-spring-boot-server] [ main] b.w.c.s.WebApplicationContextInitializer : Root WebApplicationContext: initialization completed in 2045 ms
2026-06-09T13:59:05.448Z INFO 1 --- [docker-ec2-spring-boot-server] [ main] o.s.boot.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/'
2026-06-09T13:59:05.490Z INFO 1 --- [docker-ec2-spring-boot-server] [ main] e.d.DockerEc2SpringBootServerApplication : Started DockerEc2SpringBootServerApplication in 4.644 seconds (process running for 5.933)
2026-06-09T14:00:15.440Z INFO 1 --- [docker-ec2-spring-boot-server] [nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2026-06-09T14:00:15.440Z INFO 1 --- [docker-ec2-spring-boot-server] [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2026-06-09T14:00:15.445Z INFO 1 --- [docker-ec2-spring-boot-server] [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed initialization in 5 ms

8) 컨테이너 종료 후 삭제, 이미지 삭제
- Ubuntu
ubuntu@ip-172-31-41-193:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b7b2be15c1d 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest "java -jar /app.jar" 13 minutes ago Up 13 minutes 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp adoring_visvesvaraya
ubuntu@ip-172-31-41-193:~$ docker rm -f 6b7b
6b7b
ubuntu@ip-172-31-41-193:~$ docker image ls
i Info → U In Use
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest 58b03d0db56f 719MB 230MB
ubuntu@ip-172-31-41-193:~$ docker image rm 58b0
Untagged: 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
Deleted: sha256:58b03d0db56f2ba4c9b896b5a03b88b2077c842f2da72d84af39ca3c3eef8cdb
2. Docker Compose 로 배포
Docker Compose 를 사용하면 복잡한 명령어로 실행시키던 것을 간소화 시킬 수 있다.
따라서 Docker CLI 가 아닌 Docker Compose 를 활용하여 Spring Boot 서버를 배포한다.
1) 폴더 생성
- Ubuntu
ubuntu@ip-172-31-41-193:~$ ls
aws awscliv2.zip
ubuntu@ip-172-31-41-193:~$ mkdir docker-server
2) AWS EC2 에 compose.yml 생성
- Ubuntu
ubuntu@ip-172-31-41-193:~$ cd docker-server
ubuntu@ip-172-31-41-193:~/docker-server$ vi compose.yml
- Ubuntu Vim
services:
docker-server:
image: 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
ports:
- 8080:8080
~
~
~
~
...
:wq
- Ubuntu
ubuntu@ip-172-31-41-193:~/docker-server$ cat compose.yml
services:
docker-server:
image: 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
ports:
- 8080:8080
3) 실행
- Ubuntu
ubuntu@ip-172-31-41-193:~/docker-server$ ls
compose.yml
ubuntu@ip-172-31-41-193:~/docker-server$ docker compose up --build -d
[+] up 11/11
✔ Image 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest Pulled 8.8s
✔ Network docker-server_default Created 0.1s
✔ Container docker-server-docker-server-1 Started 0.4s
ubuntu@ip-172-31-41-193:~/docker-server$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-server-docker-server-1 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest "java -jar /app.jar" docker-server 54 seconds ago Up 53 seconds 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
ubuntu@ip-172-31-41-193:~/docker-server$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6791b13c4df4 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest "java -jar /app.jar" 56 seconds ago Up 55 seconds 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp docker-server-docker-server-1

4) 새로운 기능 업데이트
- src/main/java/com/example/docker_ec2_spring_boot_server/AppController.java
package com.example.docker_ec2_spring_boot_server;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class AppController {
@GetMapping("/")
public String home() {
return "Docker Compose, World!";
}
}
- Windows PowerShell
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> ./gradlew clean build
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
BUILD SUCCESSFUL in 5s
8 actionable tasks: 8 executed
Consider enabling configuration cache to speed up this build: https://docs.gradle.org/9.5.1/userguide/configuration_cache_enabling.html
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com
Login Succeeded
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> docker build --platform linux/amd64 -t docker-server .
[+] Building 4.0s (8/8) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 189B 0.0s
=> [internal] load metadata for docker.io/library/eclipse-temurin:17-jdk 1.2s
=> [auth] library/eclipse-temurin:pull token for registry-1.docker.io 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build context 1.5s
=> => transferring context: 19.81MB 1.5s
=> CACHED [1/2] FROM docker.io/library/eclipse-temurin:17-jdk@sha256:b04a8c5d46e210873ffd1af6ad5f4d62c69ed3a6736993556eae60bba1373a23 0.0s
=> => resolve docker.io/library/eclipse-temurin:17-jdk@sha256:b04a8c5d46e210873ffd1af6ad5f4d62c69ed3a6736993556eae60bba1373a23 0.0s
=> [2/2] COPY build/libs/*SNAPSHOT.jar /app.jar 0.1s
=> exporting to image 0.8s
=> => exporting layers 0.5s
=> => exporting manifest sha256:62735a8ae1cc5396078d661825128987408795e5660d9b75b46af14085a4877a 0.0s
=> => exporting config sha256:20e9a79d2f55a8e4d3175a5ecb6b351610742af91a50014c499b3a7a24f514e4 0.0s
=> => exporting attestation manifest sha256:711eedb79f32baba8fd1fc8f90cc1002af33c43d9155c267e2a62567e9146bb2 0.1s
=> => exporting manifest list sha256:908b305ca4f70807b0845ca65ba70d919504f858afefe8d300169c9eeb76de75 0.0s
=> => naming to docker.io/library/docker-server:latest 0.0s
=> => unpacking to docker.io/library/docker-server:latest 0.1s
View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/syi2jub8kvksw9t31n1iee2v6
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> docker tag docker-server:latest 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
PS C:\Users\admin\IdeaProjects\docker-ec2-spring-boot-server> docker push 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
The push refers to repository [984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server]
a32c42059121: Layer already exists
f2355d8d10e0: Layer already exists
6f5c5aa4e145: Layer already exists
0179dfb07a7d: Layer already exists
1c24335ddd46: Layer already exists
15aacb7c3124: Pushed
2298222cc119: Pushed
1074d15b60c9: Layer already exists
latest: digest: sha256:908b305ca4f70807b0845ca65ba70d919504f858afefe8d300169c9eeb76de75 size: 856
5) AWS EC2 에 업데이트 된 내용 반영
- Ubuntu
ubuntu@ip-172-31-41-193:~/docker-server$ ls
compose.yml
ubuntu@ip-172-31-41-193:~/docker-server$ docker compose pull
[+] pull 3/3
✔ Image 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest Pulled 0.9s
ubuntu@ip-172-31-41-193:~/docker-server$ docker compose up --build -d
[+] up 1/1
✔ Container docker-server-docker-server-1 Started 0.6s
ubuntu@ip-172-31-41-193:~/docker-server$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-server-docker-server-1 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest "java -jar /app.jar" docker-server 8 seconds ago Up 6 seconds 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
ubuntu@ip-172-31-41-193:~/docker-server$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ae4e362898a0 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest "java -jar /app.jar" 10 seconds ago Up 9 seconds 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp docker-server-docker-server-1
# docker compose pull : compose.yml 에 작성된 서비스들의 이미지를 원격 레지스트리에서 업데이트 및 다운로드

6) 컨테이너 종료 후 삭제, 이미지 삭제
- Ubuntu
ubuntu@ip-172-31-41-193:~/docker-server$ docker compose down
[+] down 2/2
✔ Container docker-server-docker-server-1 Removed 0.2s
✔ Network docker-server_default Removed 0.0s
ubuntu@ip-172-31-41-193:~/docker-server$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ubuntu@ip-172-31-41-193:~/docker-server$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ubuntu@ip-172-31-41-193:~/docker-server$ docker image ls
i Info → U In Use
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest 908b305ca4f7 719MB 230MB
ubuntu@ip-172-31-41-193:~/docker-server$ docker image rm 908b
Untagged: 984622551099.dkr.ecr.ap-northeast-2.amazonaws.com/docker-server:latest
Deleted: sha256:908b305ca4f70807b0845ca65ba70d919504f858afefe8d300169c9eeb76de75
비전공자도 이해할 수 있는 Docker 입문/실전| JSCODE 박재성 - 인프런 강의
현재 평점 4.9점 수강생 14,495명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 Docker 입문/실전 강의를 만들어봤습니다! Docker 기본 개념, Spring Boot를
www.inflearn.com
'강의 실습 > 비전공자도 이해할 수 있는 Docker 입문 실전' 카테고리의 다른 글
| [실습] AWS EC2에 Spring Boot, MySQL, Redis 배포하기 (0) | 2026.06.10 |
|---|---|
| [실습] AWS ECR(Elastic Container Registry) 사용해보기 (1) | 2026.06.08 |
| AWS ECR(Elastic Container Registry)이 뭘까? 왜 배울까? (0) | 2026.06.06 |
| Ubuntu에서 Docker, Docker Compose 설치하기 (0) | 2026.06.05 |
| [실습] Spring Boot, MySQL, Redis 컨테이너 동시에 띄워보기 (0) | 2026.06.04 |
댓글