Information Security ˗ˋˏ ♡ ˎˊ˗

Cloud

[docker] docker 기본 명령어 #1

토오쓰 2021. 6. 3. 17:57

docker에 대한 간단한 설명과 설치방법

https://t-okk.tistory.com/149

 

[docker] 컨테이너 기반의 가상화 도구 docker 설치

컨테이너 기반의 오픈소스 가상화 플랫폼 Docker 2013년에 등장한 컨테이너 기반 가상화 도구 Linux 컨테이너를 만들고 사용할 수 있도록 하는 컨테이너화 기술 가상머신과 같이 하기 위해서 별도

t-okk.tistory.com

 

 

도커(Docker)에서 사용하는 이미지(Image)들은 레파지토리(Repository)를 통해 내려받거나 공유
Docker의 공식 Repository인 Docker Hub에서 다운이 가능
https://hub.docker.com/

 

Docker Hub

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

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 설치하고 사용하는 방법에 대해서 다룬 글 참고

https://t-okk.tistory.com/151

 

[docker] docker MariaDB 설치 및 사용

 

t-okk.tistory.com

 

 

 

 

참고

https://ifuwanna.tistory.com/249

https://velog.io/@wlsdud2194/-Docker-%EB%8F%84%EC%BB%A4-%EA%B8%B0%EB%B3%B8-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C