도커의 설치
도커는 linux를 지원하기에 다른 운영체제에서 설치되는 Docker는 가상머신에 설치된다.
window에서는 hyper-v 혹은 wsl2 환경에서 사용이 가능하며, wsl2 환경 하에.
커맨드 콘솔은 powershell을 써도되지만 window terminal를 사용하는 것을 추천한다.
클라이언트 - 서버 구조
Docker CLI는 도커 호스트에게 명령을 전달하고 host에서 결과를 받아서 출력한다.
컨테이너 실행 - run
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
OPTION에 들어가는 명령어
-d 백그라운드 모드
-p | 호스트와 컨테이너의 포트 연결 |
-v | 호스트와 컨테이너의 디렉토리 연결 |
-e | 컨테이너 내에서 사용할 환경변수 설정 |
—name | 컨테이너 이름 설정 |
—rm | 프로세스 종료시 컨테이너 자동 제거 |
-it | -i -t 동시 사용으로 터미널 입력을 위한 옵션 |
—network | 네트워크 연결 |
컨테이너 만들기 - ubuntu 20.04
docker run ubuntu:20.04
해당 이미지가 없다면, 다운로드(pull) 한 후 컨테이너를 생성 후 시작합니다.
컨테이너는 정상적으로 실행하고 명령어를 전달하지 않았기에 생성 즉시 종료합니다.
컨테이너는 프로세스 이므로 실행중인 프로세스가 없다면 종료하기 때문입니다.
bin/sh 실행하기
docker run --rm -it ubuntu:20.04 /bin/sh
터미널 입력을 위한 -it
프로세스 종료 후 자동 삭제 -rm
/bin/sh 커맨드를 통한 쉘 스크립트 진입
exit명령어로 나갈 시 rm명령어로 자동 삭제된다. 원래는 스탑되고 그대로 남아있다고 한다.
컨테이너 만들기 - centos:8
docker run --rm -it centos:8 /bin/sh
도커는 다양한 리눅스 배포판을 실행하고, 동일한 커널을 사용한다.
여러 기능이 필요없는 운영체제를 사용할 경우 AIpine(5MB) 사용한다.
웹 어플리케이션 실행하기
docker run --rm -p 5678:5678 hashicorp/http-echo -text="hello world"
ex) 포트 접속
curl [localhost:5678](<http://localhost:5678>) → 으로 CLI로 url접속하여 출력 값 얻는다.
port 5678번에 hashicorp가 제공하는 5678번 포트에 연결한다.
연결하면, 지정된 텍스트 출력
Redis 실행하기
docker run —rm -p 1234:6379 redis
ex) 포트 접속
telnet localhost 1234
set hello world
MySQL 실행
실행
docker run -d -p 3306:3306 \\
-e MYSQL_ALLOW_EMPTY_PASSWORD=true \\
--name mysql \\
mysql:5.7
접속
docker exec -it mysql mysql -> mysql에 접속하여 mysql명령어를 입력한다
exec명령어의 활용
run 명령어와 다르게 실행중인 컨테이너에 접속한다.
도커는 다양항 DB의 생성과 삭제가 손쉽기에, 개발할 때 많이 사용한다.
워드프레스 블로그 실행
docker run -d -p 8080:80 \\
-e WORDPRESS_DB_HOST=host.docker.internal \\
-e WORDPRESS_DB_NAME=wp \\
-e WORDPRESS_DB_USER=wp \\
-e WORDPRESS_DB_PASSWORD=wp \\
wordpress
[인프런 - 초보를 위한 도커 안내서]를 보고 정리한 내용입니다.
'DevOps > Docker' 카테고리의 다른 글
도커 컨테이너 기본 명령어 다루기 (0) | 2022.03.07 |
---|---|
도커 기술과 리눅스에 설치하기 (0) | 2022.03.07 |
도커 이미지 관리 (0) | 2022.03.07 |
도커 명령어와 컴포즈 (0) | 2021.12.29 |
도커란? (0) | 2021.12.22 |