클라우드 + DevOps/Docker

Docker 실습 :: 제작한 이미지를 Github에 배포하고 가져오기

gamjadori 2024. 2. 9. 11:37
728x90

<이미지 제작 및 Github 업로드>

  • 이미지: 내가 수정한 엔진엑스

1. Dockerfile 생성

FROM nginx:1.25.3-alpine3.18-slim
COPY index.html /usr/share/nginx/html/index.html
COPY cat.jpg /usr/share/nginx/html/cat.jpg
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

 

>> 깃허브에 repository 제작 > Dockerfile, index.html, cat.jpg 업로드

 

<Github에서 이미지 가져오기>

1. 이미지 가져오기

  • git clone
**ubuntu@host1:~/works$ git clone <https://github.com/mogamjadori/mywebserver1.git**>
'mywebserver1'에 복제합니다...
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
오브젝트를 받는 중: 100% (5/5), 54.81 KiB | 3.65 MiB/s, 완료.

 

2. 이미지 생성

  • docker build (명령어 뒤에 꼭 . 붙이기)
ubuntu@host1:~/Labs$ docker build -t myweb:1.0 .
[+] Building 0.4s (8/8) FINISHED                                                                    docker:default
 => [internal] load build definition from Dockerfile                                                          0.1s
 => => transferring dockerfile: 209B                                                                          0.0s
 => [internal] load .dockerignore                                                                             0.1s
 => => transferring context: 2B                                                                               0.0s
 => [internal] load metadata for docker.io/library/nginx:1.25.3-alpine3.18-slim                               0.0s
 => [1/3] FROM docker.io/library/nginx:1.25.3-alpine3.18-slim                                                 0.1s
 => [internal] load build context                                                                             0.1s
 => => transferring context: 55.52kB                                                                          0.0s
 => [2/3] COPY index.html /usr/share/nginx/html/index.html                                                    0.0s
 => [3/3] COPY cat.jpg /usr/share/nginx/html/cat.jpg                                                          0.0s
 => exporting to image                                                                                        0.0s
 => => exporting layers                                                                                       0.0s
 => => writing image sha256:6b60617e4b69d46c737017b1f2ba9c450d2b1790cc141db01360a535f56f09b7                  0.0s
 => => naming to docker.io/library/myweb:1.0

 

3. myweb 이미지 생성 확인

ubuntu@host1:~/Labs$ docker image ls
REPOSITORY   TAG                      IMAGE ID       CREATED          SIZE
myweb        1.0                      6b60617e4b69   31 seconds ago   12MB
ubuntu       22.04                    174c8c134b2a   4 weeks ago      77.9MB
bash         latest                   f208c2c858b1   4 weeks ago      14MB
rockylinux   8.9-minimal              a45448f0eb32   5 weeks ago      93.3MB
nginx        1.25.3-alpine3.18-slim   0a9dafac78cc   2 months ago     11.9MB
centos       8                        5d0da3dc9764   2 years ago      231MB

 

 

4. 컨테이너 생성

**ubuntu@host1:~/works$ docekr container run -d -o 8003:30 --name=my-webserver2 myweb:2.0**