window에 docker, mysql 설치
설치전 환경 설정
도커를 사용하기 위해서 가상화 기술인 Hyper-V를 활성화 시켜야 한다.
제어판 > 프로그램 설치 및 제거 > window 기능 켜기/끄기 > Hyper-V 체크 후 리부팅
만일, 윈도우 10 버전이 Home일 경우는 Hyper-V 가 보이지 않을것이다. 그럴 경우 아래 블로그를 참고하여 Home에서 Hyper-V를 활성화 시켜주어야 한다.
choco 로 설치
power shell을 관리자 권한으로 실행후 chocolatery 윈도우 패키지매니저를 사용해서 설치한다.
1 |
> choco install docker-desktop |
만일 choco 가 설치되어있지 않다면 여기를 참고해서 먼저 설치해야 한다.
2020년 5월에 윈도우 업데이트에 WSL2 (Window Subsystem for Linux 2)가 포함되었다. 이것은 윈도우에서 리눅스를 구동할 수 있도록 도와주는 기능이다. docker-desktop 도 wsl2 기반위에 동작시 리눅스기반 컨테이너와 윈도우 기반 컨테이너를 모두 구동할수 있으므로 WSL2를 설치하도록 하자. WSL2 를 설치하는 방법은 단순 설치와 수동 설치 두가지 방법이 있다.
최적의 환경을 갖추기 위해서 먼저 window terminal을 설치한다. MicroSoft 앱스토어에서 window terminal을 검색해서 설치할수도 있고 choco 명령어로 간단하게 설치할 수 있다.
1 |
> choco install microsoft-windows-terminal |
방금 설치한 window terminal을 관리자 권한으로 실행한다. WSL2를 설치하는 방법은 단순 설치와 수동 설치 두가지 방법이 있다.
단순 설치는 참가자 프로그램에 가입해야 해서 수동 설치하는게 낫다. 수동 설치는 6단계의 과정을 거쳐야 하는데, 다음을 참고하자.
수동 설치가 끝나면 docker-desktop 의 세팅 메뉴에서 Use the WSL 2 based engine을 체크한다.
docker 실행
docker 실행시 “Docker desktop requires log out – need to log out of windows then your docker-users membership will be taken in account” 와 같은 에러 메시자가 나오면 현재 사용자가 docker-users 그룹에 있지 않기 때문이다.
현재 사용자가 admin 그룹일 경우 docker-users 그룹을 아래와 같이 추가로 등록해주어야 한다.
예를 들어 현재 사용자가 eastflag 이라고 하면 power shell에서 net localgroup [추가할 그룹] [사용자명] /add 와 같이 입력한다.
1 |
> net localgroup docker-users eastflag /add |
mysql 설치
power shell에서 mysql 이미지를 다운로드 받는다.
1 |
> docker pull mysql |
컨테이너 이름은 mysql_container 로 하고 내부와 외부포트는 동일하게 설정하고 실행한다. root 의 초기 비밀번호는 1234이다.
1 |
> docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name mysql_container mysql |
docker 를 정지 하는 방법은 docker stop [컨테이너 이름]
1 |
> docker stop mysql_container |
컨테이너 삭제는 docker rm [컨테이너 이름]
1 |
> docker rm mysql_container |
oracle 11 xe설치
docker hub에서나 아니면 구글링해서 버전에 맞는 신뢰성있는 이미지를 먼저 검색한다. 11g xe 버전의 신뢰성있는 이미지는 jaspeen/oracle-xe-11g 로 검색되었다. power shell에서 이미지를 다운로드 받는다.
1 |
> docker pull jaspeen/oracle-xe-11g |
컨테이너 이름은 oracle11g 로 하고 내부와 외부포트는 동일하게 1521로 설정하고 실행한다.
1 |
> docker run -d -p 1521:1521 --name oracle11g jaspeen/oracle-xe-11g |
데몬이 실행되면 sqlplus로 접속할 수 있다. oracle 이 로컬컴퓨터에 설치된게 아니라 가상 리눅스가 설치되어있고 그 위에 oracle이 설치되었으므로 먼저 리눅스에 접속후 sqlplus 명령을 내려야한다.
1 |
> docker exec -it oracle11g sqlplus |
sql developer라든지 datagrip과 같은 별도의 개발툴을 이용해서 접속할려면 아래 정보로 접속한다.
host: localhost
port: 1521
SID: XE
user: system
passowrd: oracle