Dockefile을 작성하여 도커 이미지를 만들어 보자

yk hi·2021년 8월 5일
0

docker

목록 보기
7/16

1단계
도커파일 만들어보기
필요한것

1.nignx 이미지
index.html docker_logo.png
80번 포트가 오픈된
컨테이너 실행 시 반드시 nginx daemon이 피

Dockerfile 작성

FROM nginx:1.21.1
COPY index.html /usr/share/nginx/html/index.html
COPY docker_logo.png /usr/share/nginx/html/docker_logo.png
EXPOSE 80
CMD ["nginx","-g","daemon off;"]

docker build는 기본값으로 Dockerfile을 빌드한다

root@hostos1:~/LABS# docker build -t my_nginx_image:1.0 .

마지막에 있는 .은 현재 경로에 있는 Dockerfile을 빌드한다는것
-t 옵션으로는 빌드하는 이미지의 이름을 정할 수 있다

Sending build context to Docker daemon  28.67kB
Step 1/5 : FROM nginx:1.21.1
 ---> 08b152afcfae
Step 2/5 : COPY index.html /usr/share/nginx/html/index.html
 ---> 5e1a8afb6559
Step 3/5 : COPY docker_logo.png /usr/share/nginx/html/docker_logo.png
 ---> 54763a383cd1
Step 4/5 : EXPOSE 80
 ---> Running in 7279193b2393
Removing intermediate container 7279193b2393
 ---> 642e7bf2e955
Step 5/5 : CMD ["nginx","-g","daemon off;"]
 ---> Running in e961cb946782
Removing intermediate container e961cb946782
 ---> 9d2b845df0bf
Successfully built 9d2b845df0bf
Successfully tagged my_nginx_image:1.0

성공적으로 이미지가 빌드되었다

그러면 한번 실행해보자

root@hostos1:~/LABS# docker run -it -d -p 8002:80 --name=webserver2 my_nginx_image:1.0
e985067f62ce0110232b316e4c92554057bd35f5fa2b88749f4042f009ff7e8f```

성공적으로 run되었다
정상적으로 실행되는지 확인해보자

root@hostos1:~/LABS# docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED             STATUS             PORTS                                       NAMES
e985067f62ce   my_nginx_image:1.0       "/docker-entrypoint.…"   4 seconds ago       Up 3 seconds       0.0.0.0:8002->80/tcp, :::8002->80/tcp       webserver2
aeb63491a91e   nginx:1.21.1             "/docker-entrypoint.…"   About an hour ago   Up About an hour   0.0.0.0:8001->80/tcp, :::8001->80/tcp       webserver1
ef6c4ae6664d   google/cadvisor:latest   "/usr/bin/cadvisor -…"   5 days ago          Up 2 hours         0.0.0.0:9559->8080/tcp, :::9559->8080/tcp   cadvisor
5dba651b8ccb   mariadb:10.2             "docker-entrypoint.s…"   5 days ago          Up 2 hours         0.0.0.0:3306->3306/tcp, :::3306->3306/tcp   maria-test

index.html과 docker_logo.png가 정상적으로 복사되었는지 확인

```root@hostos1:~/LABS# curl localhost:8002````

<html>
 <head>
  <title>Docker Container App</title>
   <style>body {margin-top: 40px; background-color: #87CEEB; background-image: url("docker_logo.png");}
   </style>
 </head>
 <body>
  <div style=color:black;text-align:center>
   <h1> Docker Container Sample Application. </h1>
   <h2> Welcome to Container world! </h2>
    <p>Your application is now running on a container in Docker Container.</p>
  </div>
 </body>
</html>

파일들이 정상적으로 컨테이너 안으로 복사된 것을 확인할 수 있다

도커파일을 이용하여 도커이미지를 만들고

이미지를 실행해보았다!!

profile
엔지니어의 실력은 고통의 총합이다 <임백준 칼럼>

0개의 댓글

관련 채용 정보