* 내가 보기 편하려고 작성해놓는 명령어
docker container 생성 및 image 생성
docker image -h
- docker image 생성시 help
docker image 목록보기
docker image ls
docker ps --all
docker hub에서 mysql 이미지 최신버전 다운로드하기
docker pull mysql
- docker hub에서 mysql 이미지의 최신 버전을 다운로드 하겠다는 의미
- 이 명령어를 실행하면 MySQL의 실행 환경이 포함된 이미지가 로컬 시스템에 저장된다. 이를 통해 나중에 MySQL 컨테이너를 생성하고 실행할 수 있게 된다.
- 직접적으로 MySQL을 설치하는 것은 아니지만, MySQL을 실행하기 위한 준비 작업을 하는 것이다.
- docker hub 주소: https://hub.docker.com/
docker에 mysql container 생성
docker run --name {container이름} -e MYSQL_ROOT_PASSWORD={비밀번호} -d mysql
- 예시: docker run --name sbb-db -e MYSQL_ROOT_PASSWORD=mypw123 -d mysql
- name 이름은 sbb-db
- docker run : 새로운 컨테이너를 실행하겠다는 명령어
- name sbb-db : 생성되는 컨테이너의 이름을 sbb-db로 지정하겠다는 의미
- -e MYSQL_ROOT_PASSWORD=mypw123 : 환경 변수를 설정하여 MySQL의 루트 비밀번호를 mypw123으로 지정하겠다는 의미
- -d : 컨테이너를 백그라운드에서 실행하도록 한다는 의미 (detached 모드)
- mysql : 사용할 docker 이미지를 지정한다는 의미. 여기서는 MySQL 이미지를 사용하고 있다.
특정 docker container 실행
docker start {컨테이너명}
- docker container 가 running 상태가 아닌 경우 docker start {컨테이너명} 이란 명령어를 실행시켜 running 상태로 만들어준다.
- docker container 접속과는 다르다. 접속은 특정 container에 접속하여 database 관련하여 생성하고 삭제하는 등의 행위를 한다.
특정 docker container 종료
docker stop {컨테이너ID 또는 이름}
- 간혹 권한 때문에 문제가 발생하는데 앞에 sudo를 붙여보자.
- sudo docker stop {컨테이너ID 또는 이름}
특정 docker container 강제 종료
docker kill {컨테이너ID 또는 이름}
- 간혹 권한 때문에 문제가 발생하는데 앞에 sudo를 붙여보자.
- sudo docker stop {컨테이너ID 또는 이름}
특정 docker container 접속
docker exec -it {컨테이너명} mysql -uroot -p
- 예: docker exec -it sbb-db mysql -uroot -p
- 위 명령어 입력 후 엔터를 하면 sbb-db 컨테이너 생성할 때 지정한 비밀번호를 입력하라고 한다.
- 비밀번호 입력 하고 엔터하면 된다.
- mysql 실행됨.
- docker container에 접속하여 MySQL 데이터 베이스 클라이언트를 실행하겠다는 뜻.
- exec : 실행 중인 컨테이너에 명령어를 실행하는 데 사용
- -it : 인터랙티브 모드와 TTY를 활성화함. 사용자가 container 내에서 입력을 받을 수 있게 한다.
- sbb-db : 접속할 container 이름
- mysql : 실행할 프로그램, 여기서는 MySQL 클라이언트 이다.
- -uroot : MySQL의 사용자 이름을 root로 설정
- -p : 비밀번호를 입력하라는 프롬프트를 표시. 비밀번호 명령어 실행 후에 입력해야 함.
docker container 포트번호 다르게 생성
docker run --name {컨테이너명} -e MYSQL_ROOT_PASSWORD={비밀번호} -p 3312:{포트번호} -d mysql
- 3312:{포트번호} 는 3312포트로 들어갈 때 3312로 바로 들어가는 것이 아니라 내가 생성한 {포트번호}로 우회(?)하여 3312로 접속하겠다는 의미
- ▼ 예시
- docker run --name sbb-db-ex1 -e MYSQL_ROOT_PASSWORD=mypw123 -p 3312:3306 -d mysql
- docker run --name sbb-db-ex2 -e MYSQL_ROOT_PASSWORD=mypw123 -p 3313:3306 -d mysql
- docker run --name sbb-db-ex3 -e MYSQL_ROOT_PASSWORD=mypw123 -p 3314:3306 -d mysql
특정 docker container 삭제(제거)
docker image rm {컨테이너명}
- 예: docker image rm 92dc
- 92dc는 내가 생성한 컨테이너. 해쉬코드(?) 대신에 본인의 image id를 입력하면된다.
docker 종료
exec
AWS에 설치한 docker container 종료가 안될 때
- 실행 중인 컨테이너 프로세스 확인:
ps aux | grep docker
- 해당 PID를 강제로 종료:
sudo kill -9 <PID>
'Database' 카테고리의 다른 글
데이터 베이스 관련 명령어 (0) | 2024.12.01 |
---|