1. Docker 설치전 작업
# apt 업데이트
sudo apt-get update
# apt가 HTTPS를 통해 저장소 사용
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
# Docker 공식 GPG 키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 키 확인
sudo apt-key fingerprint 0EBFCD88
# stable 설정
sudo add-apt-repository \
"deb [arch = amd64] https://download.docker.com/linux/ubuntu \
$ (lsb_release -cs) \
stable "
2. Docker 설치 작업
# apt 업데이트
sudo apt-get update
# 최신 버전을 설치
sudo apt-get install docker-ce
3. Docker 설치후 작업
# docker 그룹 만들기
sudo groupadd docker
# 사용자를 docker 그룹에 추가
sudo usermod -aG docker $ USER
# 리눅스 서버 재시작 및 그룹 구성원 업데이트
sudo reboot
4. Docker-Compose 설치 작업
# 최신파일 다운로드
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s) - $ (uname -m)"-o / usr / local / bin / docker-compose
# 실행 권한을 부여
sudo chmod + x / usr / local / bin / docker-compose
# 설치 확인
docker-compose --version
5. Docker-CE (+ Docker-Compose)에, MySQL 설치 작업
# 설치 폴더 작성
mkdir AttendaceManagement
# 폴더 이동
cd AttendaceManagement
# MySQL 설치 (Ubuntu)
npm install mysql
# MySQL 설치 (CentOs)
yum -y install http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-community-server
6. docker-compose.yml 작성 작업
# docker-compose.yml 파일 작성
sudo nano docker-compose.yml
sudo vi docker-compose.yml (nano가 설치되지 않은 경우)
# docker-compose.yml 파일 내용 (Mysql 서버에 설치하는 경우)
version : '3'
services :# MySQL
db :
image : mysql
container_name : mysql_host
environment :
MYSQL_ROOT_PASSWORD : <root 패스워드>
MYSQL_DATABASE : <DB 스키마 이름>
MYSQL_USER : <user name>
MYSQL_PASSWORD : <user 암호>
TZ : 'Asia / Tokyo'
command : "mysqld --character-set-server = utf8mb4 --collation-server = utf8mb4_ $
volumes :
- / var / lib / mysql
- /etc/mysql/conf.d/my.cnf
- /docker-entrypoint-initdb.d
ports :
- 3306 : 3306
# docker-compose.yml 파일 내용 (Docker에 Mysql이 설치되어있는 경우)
version : '3.7'
services :
db :
image : mysql : 5.7
container_name : AttendanceManagement_host
ports :
- "3306 : 3306"
volumes :
# 초기 데이터를 생성하는 SQL파일이 들어있는 폴더설정
- ./db/mysql_init:/docker-entrypoint-initdb.d
# 데이터보존용 폴더설정
- ./db/mysql_data:/var/lib/mysql
environment :
MYSQL_ROOT_PASSWORD : <root 패스워드>
MYSQL_DATABASE : <DB 스키마 이름>
MYSQL_USER : <user name>
MYSQL_PASSWORD : <user 암호>
7. Docker 실행
# Docker 시작
docker-compose up -d
# Docker 시작 확인
docker-compose ps
# Docker 정지
docker-compose down
8. Mysql 설정
# Mysql 연결 (docker-compose.yml의 container_name 연결)
docker exec -it mysql_host bash
# Mysql root 로그인 (-u⇒ 아이디 -p⇒ 암호)
mysql -uroot -proot
# Mysql 로그인 사용자 작성 (docker-compose.yml 사용자 이름, 암호 및 권한 설정)
CREATE USER '사용자 이름'@ '%'IDENTIFIED BY '비밀번호';
GRANT ALL PRIVILEGES ON *. * TO '사용자 이름'@ '%';
flush privileges;
# Mysql tryangle 로그인 (-u⇒ 아이디 -p⇒ 암호)
mysql -u 아이디 -p 암호
9. 서버의 Port 설정
# docker-compose.yml의 Ports를 외부에서 연결해서 즉시 사용할 수 있도록 설정한다.
서버 측의 인바운드 규칙 (인바운드)에 Port3306를 추가한다.
'Ubuntu' 카테고리의 다른 글
Ubuntu 18.04 Python의 Oracle Cloud ADW 연동 작업1 (0) | 2021.02.26 |
---|---|
Oracle Cloud Object Storage의 Ubuntu 18.04 Python 관련 설정 (0) | 2021.02.25 |
Ubuntu 18.04 Python(Flask + uWSGI + Nginx)으로 Web 서버 구축 (0) | 2021.02.24 |
Ubuntu 18.04 Python개발환경 구축2 (0) | 2021.02.23 |
Ubuntu 18.04 Python개발환경 구축1 (0) | 2021.02.23 |
댓글