Server&Infra
-
[Docker] mysql 볼륨 설정Server&Infra/Docker 2024. 9. 20. 22:32
이번 게시글에서는 도커 mysql에 볼륨을 설정하여, 볼륨에 데이터가 보존되는지 확인해볼 것이다. 목표.1. docker에서 mysql 이미지를 다운로드 받아 볼륨을 설정하고 컨테이너를 실행한다.2. mysql 컨테이너에 확인용 데이터를 주입한다.3. 기존 컨테이너를 내리고, 새로운 컨테이너에 볼륨을 설정하고 실행한다.4. 볼륨에 데이터가 보존되어있는지 확인한다. docker hub에서 mysql 이미지를 다운로드 받는다. 실습을 위해 mysql 5.7 버전을 사용한다.https://hub.docker.com/_/mysql/tags?page_size=&ordering=&name=5.7 # docker pull mysql:5.7 제대로 다운로드 되었는지 확인하고 mysql 컨테이너를 실행한다. ..
-
[Docker] httpd 웹 접속하기Server&Infra/Docker 2024. 9. 19. 20:19
이번 글에서는 httpd 이미지를 실행하여 웹에 접속하는 방법에 대해 알아보자. 이전까지 우리가 접근한 방식으로 컨테이너를 실행하고 컨테이너에 접근하는것은 Server 내부에서만 가능했다. 외부에서 접근하려면 Server 호스트와 컨테이너의 연결이 끊겨있기 때문에 아무리 호출해도 컨테이너 웹 서버를 호출 할 수 없다. 이를 해결하기 위해 Server 호스트와 컨테이너를 연결해주는 작업이 필요하다. 컨테이너 실행할때, Server 호스트의 80번 Port와 컨테이너의 80번 Port를 연결하는 포트포워딩 작업을 추가하면 된다. # docker run -d --name -p : 외부에서 Host Port로 내부 Container Port를 바라 볼 것을 의미하며, IP는 생략 가능하다. 이렇..
-
[Docker] 볼륨(volume) 마운트하기Server&Infra/Docker 2024. 9. 17. 11:26
도커 컨테이너는 기본적으로 일시적인 파일 시스템을 사용하여 컨테이너가 종료되거나 삭제되면 그 안에 저장된 데이터도 함께 사라지게 되어있지만, 도커 볼륨을 사용하면 컨테이너가 삭제되더라도 데이터를 유지할 수 있어 지속적인 데이터 저장을 가능하다. 보통 데이터베이스 데이터를 지속적으로 저장하고 싶을 때 볼륨을 사용하여 데이터를 보호할 수 있다. 도커 볼륨을 사용하는 방법으로 볼륨을 생성하는 이를 사용하는 방법과 볼륨을 생성하지 않고 컨테이너를 실행할 때 선언하는 익명 볼륨 방식이 있다. 1. 볼륨 생성# docker volume create 2. 볼륨 목록 확인# docker volume ls 3. 볼륨 메타 정보 확인volume inspect 명령어를 통해 볼륨의 마운트 지점(Mountpoint)을 ..
-
[Docker] 이미지 다루기Server&Infra/Docker 2024. 9. 15. 09:46
도커 이미지는 애플리케이션(컨테이너)을 실행하는데 필요한 파일/설정 등을 포함하는 변경이 불가능한 불변파일이자 하나의 객체이다. 도커 이미지는 특정 시점의 애플리케이션 가상 환경을 의미하고 읽기 전용 스냅샷이기도 한다. 도커 이미지는 Dockerfile를 통해 직접 만들수도 있고, 이미 만들어둔 것을 도커 허브(https://hub.docker.com/)에서 가져와 사용할 수 있다. 도커 허브는 이미지 저장소(registery)로, 가입하여 이미지를 올리거나 내려받을 수 있다. 도커 이미지 확인하기로컬에 저장된 이미지 목록을 확인 할 수 있다.# docker image ls 아래 명령어로도 같은 결과를 얻는다.# docker images 도커 이미지 다운받기도커 이미지를 다운 받기 위해서는 do..
-
[Docker] 컨테이너 다루기(3) - 중지/삭제하기Server&Infra/Docker 2024. 9. 14. 11:28
컨테이너 중지하기실행중인 컨테이너를 중지 할 수 있다.# docker [container] stop mynginx 컨테이너를 확인해보면, Status가 Exited임을 알 수 있다.# docker [container] ps -a 컨테이너 삭제하기컨테이너를 삭제 할 수 있다.# docker [container] rm mynginx 실행중인 컨테이너 중지/삭제 한번에 하기실행중인 컨테이너를 중지 및 삭제를 한번에 진행한다.# docker container stop $(docker ps -q) ; docker container rm $(docker ps -aq) 위 명령어를 상세하게 보자.1) 모든 컨테이너 id만 출력하기# docker ps -aq 2) 실행중인 컨테이너 전부 중단# docker ..
-
[Docker] 컨테이너 다루기(2) - 실행하기Server&Infra/Docker 2024. 9. 13. 20:54
실행중인 컨테이너 확인하기실행중인 컨테이너를 확인 할 수 있다.# docker [container] ps 모든 컨테이너 확인하기종료된 컨테이너를 포함한 모든 컨테이너를 확인 할 수 있다.# docker [container] ps -a * CONTAINER ID: 컨테이너의 할당된 고유한 아이디 해쉬값* IMAGE: 컨테이너 생성시 사용한 도커 이미지* COMMAND: 컨테이너 시작시 실행될 명령어* CREATED: 컨테이너가 생성된 시간* STATUS: 컨테이너의 상태(UP: 실행중, Exited: 종료, Pause: 일시정지)* PORTS: 컨테이너가 개방한 포트와 호스트에 연결한 포트* NAMES: 컨테이너의 고유한 이름. 컨테이너 생성시 --name 옵션으로 이름을 설정하지 않으면 도커 엔진이 ..
-
[Docker] 컨테이너 다루기(1) - 생애주기(Life Cycle)Server&Infra/Docker 2024. 9. 12. 22:50
도커 컨테이너는 말 그대로 물건을 담는 컨테이너와 비슷하게 애플리케이션과 이를 실행할 컴퓨터가 포함되어, 독립적인 환경에서 동작할 수 있는 환경이 만들어 진다. 서로 다른 여러 컨테이너를 독립적으로 실행되어지지만, 컨테이너를 실행하는 컴퓨터의 CPU와 메모리, 운영체제를 공유하고 있다. 컨테이너 생애주기(Life-Cycle) 1) Created : 컨테이너 생성httpd 이미지 생성# docker create --name myapache httpd 2) Running: 컨테이너 실행myapache 실행하기※ 백그라운드로 실행하는 것이 기본값.※ run은 create, start를 한번에 실행. 대신 백그라운드(-d 옵션), 포워드그라운드 설정 해줘야함# docker container sta..
-
[Docker] 시작하기Server&Infra/Docker 2024. 9. 10. 10:08
도커는 컨테이너라는 경량 단위로 애플리케이션을 개발, 배포, 실행하는 기능을 제공하는 오픈 소스 플랫폼으로, 컨테이너는 애플리케이션과 실행에 필요한 모든 라이브러리, 설정 파일, 의존성을 하나의 패키지로 묶어 다양한 환경에서 동일하게 동작할 수 있도록 한다. 도커는 컨테이너를 통해 개발, 테스트, 배포 활경을 동일하게 유지 할 수있어, 라이브러리 버전과 운영체제 차이와 같은 환경에 대한 의존성 문제를 해결할 수 있다. 실행중인 애플리케이션과 동일한 방식으로 다른 환경에서도 실행이 가능하다. 도커는 가상머신보다 가볍고 최소한의 리소스만을 사용하기 때문에, 효율적으로 자원관리가 가능하고 각 컨테이너를 서로 독립적인 환경에서 실행하여 애플리케이션간 의존성을 격리시켜 충돌 없이 실행할 수 있다. 도커의 주..