T아카데미 - 컨테이너 기반 가상화 플랫폼 ‘도커(Doker)’의 이해
컨테이너 실행하기
1. run commend
$ docker run [OPTION] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG....]
* 옵션
1. -d, 백그라운드 모드
2. -p, 호스트와 컨테이너의 포트연결, 포워딩
3. -v, 호스트와 컨테이너의 디렉토리 연결 , 마운
4. -e, 컨테이너 내에서 사용할 환경변수 설정
5. --name, 컨테이너 이름 설정
6. --rm, 프로세스 종료 시 컨테이너 자동 제거
7. -it, 터미널 입력을 위한 옵션
8. --network, 네트워크 연결
* run 명령어 사용 후,
이미지가 있는지 확인 하고 없으면 다운로드 (pull), 컨테이너 생성 (create), 시작 (start) 한다.
2. /bin/sh
$ docker run --rm -it ubuntu:16.04 /bin/sh
* --rm 옵션으로 인해 컨테이너가 종료되면 자동 삭제
4. Redis
$ docker run --name=redis -d -p 1234:6379 redis
$ docker run --rm -it mikesplain/telnet docker.for.win.localhost 1234
- 메모리 기반의 다양한 기능을 가진 스토리지
5. Mysql
- MYSQL_ALLOW_EMPTY_PASSWORD = YES 루트 패스워드 없이 접속 가능
- exec 명령어를 이용하여 mysql 컨테이너로 직접 접속함.
6. WordPress
컨테이너 목록 확인하기
* ps
- 실행중인 컨테이너 목록을 확인하는 명령어
$ docker ps
docker ps -a 중지된 컨테이너 포함
컨테이너 중지하기
* stop
- 실행중인 컨테이너 중지
$ docker stop [OPTION] CONTAINER [CONTAINER...]
컨테이너 제거하기
* rm
- 종료된 컨테이너를 완전히 제거하는 명령어
$ docker rm [OPTION] CONTIANER [COTAINER...]
컨테이너 로그보기
* logs
- 컨테이너가 정상동작하는지 확인하는 명령어
$ docker logs [OPTION] Container
-f 옵션 , 새로 생성되는 로그 확인
--tail 옵션
이미지 목록 확인하기
* images
- 다운로드 받은 이미지 확인
$ docker images
이미지 다운로드
* Pull
- 이미지를 다운로드 하는 명령어
$ docker pull [OPTION] NAME[:TAG|@DIGEST]
최신버전으로 업데이트 하고 싶을 때 pull 명령어 사용
이미지 삭제
* rmi
- 이미지 삭제
$ docker rmi [OPTION] IMAGE [IMAGE ...]
실행중인 이미지는 삭제 불가능함
네트워크 만들기
$ docker network create [OPTIONS] NETWORK
$ docker network create app-network
$ docker network connect [OPTIONS] NETWORK CONTAINER
$ docker network connect app-network mysql
$ docker run -d -p 8080:80 \
--network=app-network \
-e WORDPRESS_DB_HOST=mysql \
-e WORDPRESS_DB_NAME=wp \
-e WORDPRESS_DB_USER=wp \
-e WORDPRESS_DB_PASSWORD=wp \
wordpress
Docker Compose
# docker-compose.yml
version: '2'
services:
db:
image: mysql:5.7
volumes:
- ./mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
image: wordpress:latest
volumes:
- ./wp:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: wordpress
* $ docker-compose up -d
docker compose 를 이용하여 mysql , wordpress를 실행
* $ docker compose down
mysql, wordpress 종료
* 실제 운영환경에서는 docker compose를 사용함.
'Devops > docker' 카테고리의 다른 글
개선사항 및 실무 (0) | 2021.06.01 |
---|---|
도커 이미지 빌드 환경 만들기 (0) | 2021.06.01 |
이미지 만들고 배포하기 (0) | 2021.06.01 |
도커 개요 및 소개 (0) | 2021.06.01 |