개발/Docker

개발환경 만들기 - ubuntu & mysql

보리ing 2020. 2. 21. 10:56

1. ubuntu container 띄우기

 

docker pull ubuntu

//뒤에 버전정보가 없다면 최신 버전으로 가져온다

 

docker run -itd --name ubuntutest ubuntu

//ubuntutest라는 이름으로 container를 만들고 백그라운드로 실행시켰다.

//-i -t 는 -i(interactive), -t(Pseudo-tty) 옵션을 사용하면 실행된 Bash Shell에 입력 및 출력을 할 수 있다.

//-d 는 백그라운드 실행

docekr exec -it container_id bash

//container_id는 docker ps -a 로 리스트에 나와있는 아이디를 확인했다.

 

2.python 셋팅하기

apt-get update

apt-get install python3-pip

 

3.mysql 설치하기

apt-get install -y mysql-server libmysqlclient-dev

pip3 install mysqlclient

 

4.이미지 만들기

docker commit CONTAINERID testcontainer

testcontainer 라는 이름으로 생성

 

5,실행

docker run -it -e LANG=koKR.UTF-8 -e PYTHONIOENCODING=utf8 testcontainer /bin/bash

 

 

생각해보니 환경이라고 할 게 mysql - spring boot 뿐이니

mysql 이미지를 그대로 불러와 컨테이너에 추가한 것과 차이가 없어보여 이것도 해보기로 했다.

 

docker pull mysql:latest

 

docker run --name mysql-db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<password> -d mysql

 

docker exec -it mysql-db bash

 

 /etc/mysql/my.cnf 수정위해 vim 설치

 

apt-get update

apt-get upgrade

apt-get install vim

 

[mysqld]

default_authentication_plugin=mysql_native_password

추가

 

----------

 

docker에 애플리케이션 서버 실행하기

 

docker run -d --name ubuntu_test ubuntu /bin/bash -c "while true; do echo "still live"; sleep 100; done" eb3b9e69b18d826dcc8788fc01930b4c411dabee4cbdfb646af79cb2cfbeacba

 

docker exec -it eb3b9e69b18d /bin/bash

 

-Docker 컨테이너에서 실행되는 애플리케이션 서버(DB 서버 포함)은 back ground 모드가 아닌 fore ground 모드로 실행해야 한다.

 

 

 

참고

https://www.popit.kr/%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EC%B2%98%EC%9D%8C-docker-%EC%A0%91%ED%95%A0%EB%95%8C-%EC%98%A4%EB%8A%94-%EB%A9%98%EB%B6%95-%EB%AA%87%EA%B0%80%EC%A7%80/