docker에 대한 간단한 설명과 설치방법
도커(Docker)에서 사용하는 이미지(Image)들은 레파지토리(Repository)를 통해 내려받거나 공유
Docker의 공식 Repository인 Docker Hub에서 다운이 가능
https://hub.docker.com/
사용하는 Docker version 20.10.7, build f0df350
docker 기본 명령어
[이미지]
이미지 검색
(sudo) docker search 이미지 이름
이미지이름을 mariadb로 설정하여 검색을 해보았다.
인기도(stars)가 가장 높은 공식 이미지(official image)가 상위에 검색되는 것이 보인다.
이미지 다운로드
(sudo) docker pull 이미지이름:버전
MariaDB 이미지 다운로드
latest 버전: 최신 버전 받기
생략할 경우: 가장 Default tag를 사용하여 가장 최근 버전을 내려받는다.
이미지 목록 보기
(sudo) docker images
다운로드한 mariadb가 존재하는 것을 볼 수 있다.
이미지 삭제
(sudo) docker rmi 이미지ID
-f 옵션: 컨테이너도 강제로 삭제 가능
[컨테이너]
이미지는 다양한 환경이 구성되어있는 상태를 저장해놓은 파일 집합이라고 하면, 이 이미지의 환경 위에서 특정한 프로세스를 격리시켜 실행한 것이 컨테이너다.
다운로드한 이미지를 통해서 컨테이너를 실행한다.
컨테이너 실행
(sudo) docker run [options] image[:TAG|@DIGEST] [COMMAND] [ARG...]
-d | detached mode, 백그라운드에서 실행 |
-p | 호스트와 컨테이너의 포트를 연결 (포워딩) |
-v | 호스트와 컨테이너의 디렉토리를 연결 (마운트) 컨테이너를 삭제 시 데이터 복구를 편리하게 하기 위해 사용 |
-e | 컨테이너 내에서 사용할 환경변수 설정 |
--name | 컨테이너 이름 설정 |
--it | -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션 (컨테이너의 표준 입력과 로컬 컴퓨터의 키보드 입력을 연결) |
--rm | 프로세스 종료시 컨테이너 자동 제거 |
--link | 컨테이너 연결 [컨테이너 명:별칭] |
--character-set-server=utf8mb4 --collation-server= utf8mb4_unicode_ci |
1. character-set-server, DB 서버의 기본 문자셋으로서 설정 파일에 명시한 대로 utf8mb4로 설정 2. collation-server 문자열 정렬 규칙 |
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name testmariadb mariadb
컨테이너 목록 확인
(sudo) docker ps
실행 중인 컨테이너 목록을 가져온다.
[ps 옵션]
(sudo) docker ps -a, --all
가동 중, 멈춘 컨테이너를 모두 다 표현해주는 명령어이다.
(sudo) docker ps -f, --filter
리스트를 필터링하여 출력하는 명령어이다.
id, name, label, exited, status 등 가능하다.
컨테이너 실행
docker -exec -it testmariadb /bin/bash
mariadb를 실행하고 해당 DB에 접속하기 위해서 위에 명령어를 실행하여 컨테이너의 bash로 접속한다.
mysql -u root -p
명령어를 이용하여 DB 접속한다.
password는 MYSQL_ROOT_PASSWORD 값이다.
컨테이너 종료
docker stop testmariadb
docker ps로 확인해보았을 때, 실행 중인 docker가 없다는 것을 볼 수 있다.
종료 후, 컨테이너 실행
docker start testmaria
컨테이너를 다시 시작하고 데이터를 보기 위해서 사용한다.
컨테이너 삭제
docker rm testmaria
-v: /var/lib/mysql에 대해서 생성한 볼륨도 제거
이후에는 해당 예제에서 사용했던 MariaDB 설치하고 사용하는 방법에 대해서 다룬 글 참고
참고
'Cloud' 카테고리의 다른 글
[Hypervisor] Windows 10에 MS Hyper-V 설치 (295) | 2021.06.11 |
---|---|
[docker] 컨테이너 /bin/bash에 vim 설치 (306) | 2021.06.04 |
[docker] docker에 MariaDB 설치 및 사용 (444) | 2021.06.04 |
[docker] 컨테이너 기반의 가상화 도구 docker 설치 in Ubuntu (432) | 2021.06.03 |
[Cloud] 클라우드 서비스(Cloud Service) 이해하기 (301) | 2021.05.04 |