맥북 유저인 나는 이미 colima와 docker를 사용해서 oracle db를 사용하고 있었는데, 사실 알고 설치했다기보다는 써야해서 서치서치하면서 설치 거라 docker에 대한 이해는 거의 없다고 봐도 무방했다.. 그래서 이번 수업을 통해 docker에 대해 열심히 공부했는데 수업은 윈도우 위주라 mac 유저인 나는 수업을 바탕으로 다시 찾아봐야 했다..
수업을 하면서 gui docker desktop으로 컨테이너나 이미지를 확인하는데 이미 설치되어있던 oracle이 컨테이너에 뜨지 않는 것이다.. 하지만 DB는 잘 작동하고 cli로 docker ps로 확인해봐도 잘 작동하고 있었다. 그래서 찾아본 결과 docker context가 colima, desktop-linux, default로 3개이고 내가 설치한 oracle은 colima에 설치되어 있었고, desktop-linux가 docker desktop 부분인 것 같았다. (그럼 여기서 default는..??)
mac은 colima를 이용해서 이미지를 x86_64로 바꿔 ORACLE을 돌려야 한다는 걸 알았지만, 혹시나 하는 마음에 docker desktop에서 설치해보았다.
docker run -d --name mydb -p 40000:1521 -e TZ=Asia/Seoul oracleinanutshell/oracle-xe-11g
docker ps -a
docker cp /Users/sujinchoi/mydb.sql mydb:/root
docker exec -it mydb bash
→ root@48ddec31a221:/# ls
→ root@48ddec31a221:/# ls / root
→ root@48ddec31a221:/# sqlplus sys/oracle as sysdba @/root/mydb.sql
docker run -d --name myweb -p 80:8080 -e TZ=Asia/Seoul --link mydb:db tomcat:9.0.75-jdk11
docker cp /Users/sujinchoi/ROOT.war myweb:/usr/local/tomcat/webapps
docker restart myweb
sql에서 넘어가지지 않는다.
안되는 걸 알았지만 이렇게 어떤 과정에서 안되는지 확인해보니 좋았다. 게다가 docker를 공부하는 과정에서 docker desktop gui로 확인하면서 파일이 제대로 복사되었는지 확인할 수 있어서 좋았는데,,, 앞으로 수업 실습을 할 때는 colima 상에서 돌려야 하기 때문에 확인을 할 수 없을 부분이 막막하다..