seunghyun Note

Docker Image 관리 본문

workspace/클라우드 컴퓨팅 & 가상화

Docker Image 관리

승숭슝현 2024. 5. 13. 18:30
728x90
반응형

 

도커를 실행해보고 볼륨도 추가해봤다면

https://cojjangsh.tistory.com/169

 

Building a site with a docker

Docker에는 다양한 컨테이너들이 존재한다. 간단하게 사이트를 구축해보려고 한다. database는 mysql , 웹은 wordpress를 만들어보자!root 계정에 접속되어 있고 docker가 설치되어 있다면 바로 시작할 수

cojjangsh.tistory.com

 

 

도커 서버의 종류

도커를 공부하면서 OS, Web, Database 등 다양한 콘텐츠를 가져올 수 있다 보니 어떤 것이 OS인지 Web인지 헷갈리기도 했고 사용법이 다 다르다는 것을 공부하면서 알게 됐다.

도커를 사용할 때 우리가 서버라고 할 때는, 도커 컨테이너 내에서 실행되는 다양한 종류의 서비스나 애플리케이션(웹서버, 데이터베이스 서버 등)을 가리킨다. 컨테이너는 이러한 서비스를 격리되고 일관된 환경에서 실행하기 위한 기술적 수단이다.

컨테이너(Container)

ubuntu, apline linux, centOS

도커는 컨테이너화된 애플리케이션을 실행하기 위한 플랫폼이다. 컨테이너는 애플리케이션과 그 애플리케이션을 실행하는 데 필요한 모든 것(코드, 런타임, 시스템 도구, 시스템 라이브러리 등)을 패키지화하여, 애플리케이션이 어느 환경에서든 일관되게 실행될 수 있도록 해준다. 따라서, 컨테이너 자체를 '서버의 한 종류'라기보다는, 다양한 유형의 서버(웹서버, 데이터베이스 서버 등)를 실행하는 환경이라고 이해하는 것이 더 정확하다.

웹서버(Web Server)

apache , nginx

클라이언트(예: 웹 브라우저)의 요청을 받아 HTML 문서나 오브젝트(예: 이미지, 파일 등)를 반환하는 서버다. Apache, Nginx와 같은 웹서버 소프트웨어는 도커 컨테이너 내에서 실행될 수 있으며, 이를 통해 웹 애플리케이션을 호스팅 하는 데 사용된다.

데이터베이스 서버(Database Server)

msql, oracle, postgreSQL, etc..

데이터를 구조화하여 저장하고, 관리하며, 검색할 수 있도록 설계된 서버다. MySQL, PostgreSQL, MongoDB와 같은 데이터베이스 관리 시스템(DBMS)은 데이터를 안정적으로 저장하고, 필요에 따라 빠르게 접근할 수 있도록 해준다. 이러한 DBMS 또한 도커 컨테이너로 실행될 수 있다.


도커 이미지 관리

터미널에 저장

  • docker에 로그인을 한다
{google_cloud_id}@cloudshell:~$ docker login

#Log in with your Docker ID or email address to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com/ to create one.
#You can log in with your password or a Personal Access Token (PAT). Using a limited-scope PAT grants better security and is required for organizations using SSO. Learn more at https://docs.docker.com/go/access-tokens/

Username: {user_name}
Password: 
#WARNING! Your password will be stored unencrypted in /home/{user_name}/.docker/config.json.
#Configure a credential helper to remove this warning. See
#https://docs.docker.com/engine/reference/commandline/login/#credentials-store

#Login Succeeded
  • 이미지 구동 (나는 ubuntu 컨테이너 서버를 띄울 것이다)
docker run -it --name docker_study ubuntu 

설치와 접속이 완료되면 ubunutu 에 접속되어 있음을 확인할 수 있다. root

root@73ef47157eb1

이곳에 first 라는 폴더 내에 test_first 라는 message를 넣는다.

접속된 ubuntu 서버를 나가기 위해 Ctrl P+Q 를 통해 나간다.

기존 이미지에서 commit을 해주고 이미지를 확인해 본다.

docker commit -a "seunghyun0522" -m "my first commit" docker_study commit_test:first
docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
commit_test   first     7c264d47cfb6   3 seconds ago   76.2MB
ubuntu        latest    bf3dc08bfed0   13 days ago     76.2MB

 

도커허브에 저장

도커허브에서 회원가입

https://hub.docker.com/

Create repository 생성

create repository

repo 생성

 

Shell에서 도커허브로 push

# ubuntu 서버를 구동
docker run -it --name commit_container1 ubuntu:14.04
# ubuntu 파일 생성
 echo my first push >> test
# commit 내장에 저장
docker commit commit_container1 test_ubunutu:0.0
# tag 해서 도커허브에 올릴 이미지 생성(복사)
docker tag test_ubunutu:0.0 seunghyun0522/test_ubunutu:0.0
# 도커허브 login
docker login
# 도커허브 push
docker push seunghyun0522/test_ubunutu:0.0

도커허브에 확인하면 push 된 것을 확인할 수 있다.

push 된 것을 확인 후 기존의 images를 삭제 후 pull로 가져오면 똑같이 사용할 수 있다.(다른 유저도 사용 가능)

docker pull seunghyun0522/test_ubunutu:0.0
728x90
반응형

'workspace > 클라우드 컴퓨팅 & 가상화' 카테고리의 다른 글

Cloud native 정리  (5) 2024.07.16
Dockerfile 개념 및 사용법  (0) 2024.05.14
Make a site with a docker  (0) 2024.05.11
AWS EC2  (0) 2024.05.11
Docker & Container , SaaS  (1) 2024.05.11