
Image는 각각 Nginx 및 MySQL를 설치를 진행
Docker Image Nginx 설치 및 확인
docker pull nginx:1.25.0-alpine
docker images
###
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.25.0-alpine fe7edaf8a8dc 15 months ago 41.4MB
Docker Container 실행 (ACG 8001 Open)
## --name의 경우 Docker Conatiner를 구분하기 위해서 Command를 입력하는 것이다.
docker run -d -p 8001:80 --name=my-edu-web1 nginx:1.25.0-alpine
## docker 실행 확인
docker ps | grep my-edu-web1
...
$ docker ps | grep my-
1299adff2863 nginx:1.25.0-alpine "/docker-entrypoint.…" 41 seconds ago Up 40 seconds 0.0.0.0:8001->80/tcp my-edu-web1
HTML 웹 소스 변경 진행
Welcome to nginx! 에서 이제 여러분들이 원하는 페이지로 변경
vim index.html
...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Docker Sample Application</title>
<style>
body {
background-color: #a3d3ff;
font-family: Arial, sans-serif;
text-align: center;
padding: 50px;
}
h1 {
font-size: 2.5em;
margin-bottom: 0.2em;
}
h2 {
font-size: 2em;
margin-bottom: 0.5em;
}
p {
font-size: 1.2em;
}
</style>
</head>
<body>
<h1>Docker Container Sample Application.</h1>
<h2>"Hello, Everyone"</h2>
<p>Your application is now running on a container in Docker Container.</p>
</body>
</html>
생성한 html을 docker Container로 Copy
docker cp index.html my-edu-web1:/usr/share/nginx/html/index.html
...
Successfully copied 2.56kB to my-edu-web1:/usr/share/nginx/html/index.html
...

만일, 이미 가지고 있는 html 또는 Image를 Dokcer Image 배포할 이미지로 만들고 싶다면 Dockerfile 을 만들어서, 가지고 있는 Image를 다시 패키징해서 신규 Image로 생성하면 가능.
vim Dockerfile
...
FROM nginx:1.25.0-alpine
COPY index.html /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
...
## 마지막의 . 의 경우 Dockerfile의 위치를 나타냅니다.
docker build -t myweb:v1.0 .
docker images
...
root@edu-docker-001:~# docker build -t myweb:v1.0 .
[+] Building 0.2s (7/7) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 156B 0.0s
=> [internal] load metadata for docker.io/library/nginx:1.25.0-alpine 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 833B 0.0s
=> [1/2] FROM docker.io/library/nginx:1.25.0-alpine 0.1s
=> [2/2] COPY index.html /usr/share/nginx/html/index.html 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:ce279331777e525e2fceb600207771f517fdd77ae5f09 0.0s
=> => naming to docker.io/library/myweb:v1.0 0.0s
root@edu-docker-001:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myweb v1.0 ce279331777e 8 seconds ago 41.4MB
nginx 1.25.0-alpine fe7edaf8a8dc 15 months ago 41.4MB
...
신규 Image “myweb”을 배포 (ACG 8002 Open)
docker run -d -p 8002:80 myweb:v1.0