ShanePark / markdownBlog

This repository is to keep all my blog posting written in MarkDown online
Creative Commons Attribution 4.0 International
6 stars 4 forks source link

400 #60

Closed utterances-bot closed 1 year ago

utterances-bot commented 2 years ago

[MacOS] M1 맥북 도커로 ORACLE DB 실행하기

Intro M1 맥북을 구입 한 이후로 약 1년 반동안, 오라클 데이터베이스를 띄우기 위해 참 많은 노력을 했습니다. 많은 고민과 시도 끝에 결국 오라클 클라우드에 DB를 띄워놓고 사용하는 방법 으로 해결을 해 왔는..

https://shanepark.tistory.com/400

JaeWooYi commented 2 years ago

위 오류는 https://velog.io/@chaean_7714/%EB%94%94%EB%B9%84%EB%B2%84%EC%99%80-%EC%98%A4%EB%9D%BC%ED%81%B4-%EC%97%B0%EA%B2%B0%EC%8B%9C-ORA-12514-TNSlistener-does-not-currently-know-of-service-requested-in-connect-descriptor 를 참고 하여 해결 하였습니다

ShanePark commented 2 years ago

@JaeWooYi 안녕하세요. 연결할 때 호스트는 localhost, Database 이름은 xe 로 , 포트번호에는 1521을 작성해야 하는데 아마 기본적으로 다른게 쓰여 있어서 변경하지 않으신 것 같네요. xe로 변경 후에 해결 되셨을까요?

Hyunjae commented 2 years ago

안녕하세요 선생님! 컨테이너 지정하려고 이름을 변경하는 과정에서

MacBookAir ~ % docker run --name oracle -e ORACLE_PASSWORD=pass -p 1521:1521 -d gvenzl/oracle-xe docker: Error response from daemon: Conflict. The container name "/oracle" is already in use by container "fbb70038da380f1f3e6f428b01027cf9b3a134dc21021fe348d9dc1614354c38". You have to remove (or rename) that container to be able to reuse that name.

이러한 오류가 발생했습니다ㅠㅠ oracle 이름이 이미 사용중이라고 하는건가 해서 oracle1 이라고 해봤지만 같은 메세지가 뜨네요ㅜㅜ 혹시 어떻게 하면 좋을까요?

ShanePark commented 2 years ago

@Hyunjae 안녕하세요. 컨테이너 이름을 변경하는게 아니고, 새로운 이름으로 새로 띄우는 과정 이기 때문에 기존에 이미 생성했던 컨테이너는 제거 해 주셔야 합니다. use by container "fbb70038da380f1f3e6f428b01027cf9b3a134dc21021fe348d9dc1614354c38" 에 나온 것 처럼 fbb 로 시작하는 컨테이너를 제거 해 주셔야 해요.

docker rm fbb700
# 혹은 
docker rm oracle

docker ps -a 명령어로 생성되어 있는 컨테이너 목록들을 확인 하시고, 사용하지 않는 컨테이너는 모두 제거 해 주세요. 그 후에 다시 컨테이너를 생성 하면 되실 거에요. 사실 도커가 리눅스도 어느정도 알아야 하고 초보자가 사용하기에 그렇게 만만한 툴은 아닌데, 애플 실리콘 아키텍트에서 오라클을 띄울 수 있는방법이 이뿐이라 어쩔 수가 없네요

JaeWooYi commented 2 years ago

예 해결되었습니다! 신경 써 주셔서 감사합니다!!

2022년 9월 4일 (일) 오후 5:30, Shane @.***>님이 작성:

@Hyunjae https://github.com/Hyunjae 안녕하세요. 컨테이너 이름을 변경하는게 아니고, 새로운 이름으로 새로 띄우는 과정 이기 때문에 기존에 이미 생성했던 컨테이너는 제거 해 주셔야 합니다. use by container "fbb70038da380f1f3e6f428b01027cf9b3a134dc21021fe348d9dc1614354c38" 에 나온 것 처럼 fbb 로 시작하는 컨테이너를 제거 해 주셔야 해요.

docker rm fbb700# 혹은 docker rm oracle

docker ps -a 명령어로 생성되어 있는 컨테이너 목록들을 확인 하시고, 사용하지 않는 컨테이너는 모두 제거 해 주세요. 그 후에 다시 컨테이너를 생성 하면 되실 거에요. 사실 도커가 리눅스도 어느정도 알아야 하고 초보자가 사용하기에 그렇게 만만한 툴은 아닌데, 애플 실리콘 아키텍트에서 오라클을 띄울 수 있는방법이 이뿐이라 어쩔 수가 없네요

— Reply to this email directly, view it on GitHub https://github.com/Shane-Park/markdownBlog/issues/60#issuecomment-1236288336, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXECQTUW2YQ2F5USK2CHHPTV4RM3BANCNFSM55JKLIIA . You are receiving this because you were mentioned.Message ID: @.***>

Namjin-kimm commented 2 years ago

@Namjin-kimm 안녕하세요. 컴퓨터를 재시작 하셨으면 colima도 실행을 해 주셔야 합니다.

애플 실리콘 맥북의 경우에는 핸드폰이나 아이패드처럼 대기상태에서 전력을 거의 소모하지 않기 때문에 굳이 컴퓨터를 종료하실 필요는 없어요. 저도 한번 컴퓨터를 켜면 보통 다음 업데이트가 있을 때 까지 몇주씩은 종료 없이 계속 사용 합니다.

계속 컴퓨터를 끄고 다니셨다면 지금부터는 덮개만 덮거나 지문인식 버튼을 눌러서 맥을 재워 보세요. 감사합니다.

답변 감사합니다!!

Chohanwo commented 2 years ago

그떄 퍼미션 문제로 애먹었는데 답변 해주신 내용 차근차근 따라해보니 해결 되었네요. 감사합니다 ㅎㅎ

kyh031007 commented 2 years ago

안녕하세요 이를 통해 11g를 설치하여 실행해서 잘되었는데...노트북 재시동 이후에 실행할 수가 없네요 ㅠㅠ colima를 다시 재시작 해보려고 하는데 -bash: colima: command not found 이문장만 나오고요 어떻게해야되나요?

ShanePark commented 2 years ago

@kyh031007 안녕하세요. colima 명령어를 못찾고 있는 에러 메시지인데요

  1. colima가 설치되어있는지 확인 해보고 혹시 설치가 안되어 있다면 다시 설치 해 보세요
  2. 설치가 되어 있지만 명령어만 못찾는 경우라면 PATH 설정 등을 확인 해 보셔야 할 것 같아요.
    echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.zshrc
    source ~/.zshrc

brew 명령어가 잘 먹히고 있는지도 확인 해 보고, brew list 명령어로 brew로 설치된 패키지 목록도 확인 해 보셔야 할 거에요. 단순히 command not found 로는 어디서부터 문제가 시작된지를 제가 알 수 없어서 이것 저것 해 보셔야 할 것 같습니다.

혹시 최근에 oh-my-zsh 같은 .zshrc 설정 파일을 멋대로 수정하는걸 설치하신게 아닌가 싶네요. colima가 설치 된 경로를 PATH로 등록 하면 해결 될 것으로 보입니다.

kyh031007 commented 2 years ago

@Shane-Park 지금은 또 안켜질까봐 노트북을 종료시키지 않고 잠자기 모드로 사용할까 합니다. 이렇게 사용해도 될까요?? 그리고 만약 종료후 다시 사용할 때 colima start 후 docker 컨테이너 썻던거 열면 데이터는 그대로 유지 되는 건가요?? iot 개발만 하다가 새로 듣게 되어 db가 아직 어렵네요ㅠ

ShanePark commented 2 years ago

@kyh031007 맥북은 대부분이 평소 잠자기 모드로 사용하실 거에요. 그런데 또 안켜질까봐 라는 이유는 극복을 하시는게 좋을 것 같아요. 정상적으로 설치만 되어 있으면 껐다 켠다고 해서 안켜질 것 같지는 않아요. 컨테이너를 삭제하지 않는 이상 데이터는 유지 되는데 혹시 불안하시면 본문 내용 참고하셔서 볼륨지정을 하고, 필요시에는 해당 볼륨을 백업까지 하시면 됩니다.

kyh031007 commented 2 years ago

@Shane-Park 넵 감사합니다!

kimdw0823 commented 2 years ago

갑자기 이렇게 뜨는데 아무리 찾아봐도 안나오네요 ㅠㅠ error during connect: Get "http://%2FUsers%2Fkimdowoo%2F.colima%2Fdefault%2Fdocker.sock/v1.24/containers/json": EOF

ShanePark commented 2 years ago

@kimdw0823
안녕하세요.

위 링크를 확인하시면 비슷한 문제를 겪는 분들이 colima stop && colima start 로 대부분 해결 하신 것으로 보입니다.

yoojinPPPark commented 2 years ago

안녕하세요!

순서대로 따라 하다 colima start --memory 4 --arch x86_64 부분에서 막힙니다... INFO[0000] starting ... 까지 갔다가 아래와 같이 뜨는데 어떤 오류일까요...

[hostagent] Starting QEMU (hint: to watch the boot progress, see "/Users/yoojinpark/.lima/colima/serial.log") SSH Local Port: 61140 [hostagent] Waiting for the essential requirement 1 of 5: "ssh" [hostagent] Waiting for the essential requirement 1 of 5: "ssh" [hostagent] Waiting for the essential requirement 1 of 5: "ssh" [hostagent] Waiting for the essential requirement 1 of 5: "ssh"

답변 부탁드립니다:)

ShanePark commented 2 years ago

@yoojinPPPark 안녕하세요. 로그가 충분하지가 않아서 에러 트래킹이 쉽지 않네요. qemu-system-x86_64 가 이미 사용되고 있는 것 같은데 brew를 aarch64 버전이 아니고 로제타를 통해 설치해서 사용하고 계신 것 같습니다. 기존의 brew를 제거하시고 arm64버전으로 새로 설치하시면 해결 될 것으로 보입니다. 아래 이슈를 참고 해 주세요.

https://github.com/abiosoft/colima/issues/331

yoojinPPPark commented 2 years ago

안녕하세요:) 일단 알려주신 문제는 해결하였습니다! 마지막으로 docker run -e ORACLE_PASSWORD=pass -p 1521:1521 -d gvenzl/oracle-xe를 실행하면,

Unable to find image 'gvenzl/oracle-xe:latest' locally latest: Pulling from gvenzl/oracle-xe c2d136b4d88e: Pull complete a1c4e753ad17: Pull complete Digest: sha256:09bd662390724a5c46b9232dc09ede575f40f1d8fb19838f5b376aaaeb608f6c Status: Downloaded newer image for gvenzl/oracle-xe:latest WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 1db74104b35f7f4bc71a92b37fc0a098171b779a3aef88aa526bab530b0dedf9

이런식으로 나오고, 바로 docker logs -f intelligent_chaum를 실행하면,

CONTAINER: starting up Oracle Database...

LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 13-SEP-2022 09:22:28

Copyright (c) 1991, 2021, Oracle. All rights reserved.

Starting /opt/oracle/product/21c/dbhomeXE/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 21.0.0.0.0 - Production System parameter file is /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora Log messages written to /opt/oracle/diag/tnslsnr/1db74104b35f/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE))) STATUS of the LISTENER

Alias LISTENER Version TNSLSNR for Linux: Version 21.0.0.0.0 - Production Start Date 13-SEP-2022 09:22:29 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Default Service XE Listener Parameter File /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora Listener Log File /opt/oracle/diag/tnslsnr/1db74104b35f/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521))) The listener supports no services The command completed successfully ERROR: ORA-12547: TNS:lost contact

SP2-0306: Invalid option. Usage: CONN[ECT] [{logon|/|proxy} [AS {SYSDBA|SYSOPER|SYSASM|SYSBACKUP|SYSDG|SYSKM|SYSRAC}] [edition=value]] where ::= username>[/<password>][@<connect_identifier]

::= [][/][@] SP2-0306: Invalid option. Usage: CONN[ECT] [{logon|/|proxy} [AS {SYSDBA|SYSOPER|SYSASM|SYSBACKUP|SYSDG|SYSKM|SYSRAC}] [edition=value]] where ::= [/][@] ::= [][/][@] SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus 이런식의 로그가 뜹니다.(너무 길죠...ㅠㅠ) 오라클이 잘 뜨는건가요, 아님 오류가 난걸까요 한번만 더 봐주시면 감사하겠습니다! 맥북으로 학교쉅을 따라가려니 만만치 않네요... ㅠㅠ 부탁드립니다:)
ShanePark commented 2 years ago

@yoojinPPPark 안녕하세요 WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) 에러를 보면 colima를 x86_64로 띄우셔야 하는데 arm 프로세서로 띄우셨어요. arm 프로세서로 그냥 colima를 띄울게 아니고, brew는 arm 프로세서로 띄우고 colima는 arm64로 띄우셔야 해요. colima가 안뜬다고 해서 제가 작성해 둔 옵션을 다 빼고 그냥 colima start 한다고 해결이 되는게 아니에요. 해당 오라클 도커 이미지는 arm 프로세서에서는 정상적으로 동작하지 않아서 colima는 반드시 colima start --memory 4 --arch x86_64 명령으로 띄우셔야 합니다. 제가 말씀드린대로 해도 안된다면 위에 jeeweon 님께서 하셨던 것 처럼 유투브로 영상을 찍으셔서 올려주시면 제가 자세히 보고 알려드릴 수 있어요. 그런데 경고 메시지상 보면 옵션을 빼고 실행 하신 것 같네요

puicu9 commented 2 years ago

안녕하세요 선생님! 국비교육 들으면서 프로젝트를 시작하게 되어, 홈페이지 방문하여 데이터베이스 문제없이 깔게 되었습니다 정말 감사합니다! 다만, JDBC 연결하려는데, 이곳저곳을 돌아다니며 해결해보려 하지만 ORA-28040 오류를 어떻게 해결해야할 지 모르겠습니다 ㅠㅠ 도와주신다면 정말 감사하겠습니다!

ShanePark commented 2 years ago

@puicu9

원인

안녕하세요. ORA-28040 는 클라이언트 혹은 서버쪽에 적절한 인증 프로토콜이 없기 때문이라는데요, image

https://logic.edchen.org/how-to-resolve-ora-28040-no-matching-authentication-protocol/

아마 사용하고 계신 ojdbc의 버전에 문제가 있지 않을까 생각되네요.

해결

image

https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html

여길 확인 해 보면 Oracle Database 18c에는 ojdbc8를 사용하라고 되어 있습니다. 혹시 ojdbc6 버전을 사용하고 계신다면 8로 교체해서 사용 해 보세요. 감사합니다.

kyh031007 commented 2 years ago

@Shane-Park 현재 계속 colima를 종료하지않고 그냥 잠자기 모드를 통해 노트북을 종료하지 않고 사용하고 있습니다. 하지만 제가 오라클이 필요없을땐 끄고싶어요... 이게 colima가 계속 돌아가서 그런가 발열도 조금씩 생기기도 하더라고요...귀찮지만 껐다가 사용할땐 다시 키고 사용해도 그전에 학습했던 내용이 사라지지 않나요?? 그리고 종료하게 되면 나중에 다시 첨에 켰을때 처럼 키면 될까요??

kyh031007 commented 2 years ago

gemu-system-x86_64, windowServer kernel_task 합쳐서 45프로입니다.. cpu 점유율이 정상인가요?

ShanePark commented 2 years ago

@kyh031007 안녕하세요. colima 및 도커 엔진이 Virtual Machine 을 생성해서 작동하는 방식이다 보니 리소스 점유가 꽤 큰 편이에요.

종료 할 때

colima stop

다시 켤 때

colima start --memory 4 --arch x86_64
docker start oracle

볼륨에 내용이 저장 되니 크게 걱정하지 않으셔도 됩니다. 감사합니다.

yoojinPPPark commented 2 years ago

너무 감사합니다... 드디어 colima로 오라클을 띄울수 있어요!!

다만 한가지 더 질문드리자면,

docker exec -it musing_goodall sqlplus로 sqlplus를 띄울때 user-name과 password 각각 system, oracle을 입력했는데 "ORA-01017: invalid username/password; logon denied"와 같은 오류가 뜨네요...

본격적으로 sqlplus를 사용해보려면 어떻게 해야하는지 대략적인 방법을 알려주실 수 있을까요??

도움이 정말 많이 됩니다!

아, 그리고 colima 띄운걸 종료하려면 colima stop입력하면 데이터는 그대로 남아있고, colima만 종료되는거로 이해하면 될까요?

ShanePark commented 2 years ago

@yoojinPPPark 안녕하세요. 고생 많으셨네요 기존 Colima 문제는 어떻게 해결하셨나요?

처음 도커 run할 때 비밀번호 옵션을 ORACLE_PASSWORD 환경변수로 주셨을까요? 그리고 제가 본문에서 샘플로 작성한 비밀번호는 oracle 이 아니고 pass 였습니다.

혹시 비밀번호를 잘못 설정 하셨더라도

docker exec <컨테이너명> resetPassword <원하는 비밀번호>

명령으로 비밀번호 재 설정을 하실 수 있어요. 혹은 SQL PLUS로 접속 한 후에 사용자명에는 sys as sysdba 비밀번호는 아무것도 치지 않고 엔터를 쳐서 접속을 한 후에

 alter user system identified by 원하는비밀번호;

로 비밀번호를 변경 해 주시면 됩니다.

ssuuaa commented 2 years ago

안녕하세요. 좋은 정보 감사합니다. 너무 초반부터 막혀서 민망하지만 댓글 남겨봅니다. docker desktop 설치 후 FATA[0000] dependency check failed for docker: docker not found, run 'brew install docker' to install 이 문구가 떠서 도커 엔진도 설치하고, 또 홈페이지 가서도 다시 깔아봤는데 계속 이 문구가 뜨네요. 해결 방법이 있을까요?

ssuuaa commented 2 years ago

추가로 남깁니다. 저 오류는 colima start --memory 4 --arch x86_64 설치 시 발생했습니다.

ShanePark commented 2 years ago

@ssuuaa 안녕하세요. 에러 메시지에 나오는 것 처럼 brew install docker 를 한번 해 보세요. 혹은 Docker desktop을 재 설치 하시려면

brew reinstall homebrew/cask/docker

를 해 보세요.

안타깝게도 말씀해주신 정보 만으로는 어떤 문제에 봉착하신지를 제가 알 방법이 없어요.. 주변에 잘 아는 분들에게 지금 진행중인 상황과, 하고자 하는 내용을 보여주시고 도움을 요청하는게 좋을 것 같아요. 아니면 유투브 영상으로 트러블 슈팅 하는 부분을 앞뒤 포함해서 쭉 찍으시면 제가 보고 힌트를 좀 얻을 수 있지 않을까 싶어요. 사실 제가 모든 분들이 트러블 슈팅 하는데 도움이 되었으면 해서 너무 많은 내용을 글에 담았다보니 헷갈릴 수 있는 부분도 어느정도 이해합니다..

일단 처음부터 읽으면서 차근차근 하나씩 해 보세요. 쉬운 내용이 아니기 때문에 한번에 안되는게 당연합니다. colima start --memory 4 --arch x86_64 는 설치하는게 아니고 이미 설치한 colima를 실행하는 과정 이에요.

간단히 순서를 요약 해 드리자면

  1. Docker Desktop 혹은 Docker Engine 설치
  2. Colima 설치
  3. Colima 실행
  4. Oracle Container 생성 및 실행

순서대로 진행 되어야 합니다. 사실 제가 개발 처음 할 때도 그랬었는데, 좀 따라 하다가 중간에 뭐가 이상하거나 다른거 같은데 그냥 다음꺼 진행하면서 잘 되겠지 하면 절대적으로 언젠가 문제가 발생합니다. 순서대로 진행 해야 한다고 기록 해 둔 것은 다 이유가 있기 때문이고 중간에 하나라도 빼먹으면 전체적인게 모두 무너지게 돼요. 하나씩 하나씩 어느 사소한 것도 놓치지 않고 정확히 진행 해 주셔야 해요.

댓글 달기 위해서 Github 가입까지 하셨을텐데 포기하지 않고 성공하시길 응원합니다.

ssuuaa commented 2 years ago

친절한 답변 감사합니다. 다 삭제하고 처음부터 다시 깔아보니까 해결됐어요. 좋은 정보 감사합니다!

kyh031007 commented 2 years ago

터미널??위치가 바껴 열려서 설치했지만 나중에 종료후 실행이 안된거였어요ㅠㅠ 그래서 그 위치를 zsh로 바꾸니깐 다시 새로 이미지를 구워야되던데...혹시 이것도 초기화 되나요??

ShanePark commented 2 years ago

@kyh031007 볼륨 설정을 따로 안하셨다면 컨테이너 새로 만들 때 데이터를 잃게 되니, 본문을 참고해서 볼륨 설정을 고려해보세요 :)

jaskiko commented 2 years ago

안녕하세요 포스팅 해주신 내용 감사히 잘 봤습니다. 내용대로 따라하다가 docker ps 명령어 입력 시

jaskiko commented 2 years ago

Cannot connecto to the Docker daemon at unix : ///Users/유저이름/.colima/default/docker.sock. Is the docker daemon running? 이라는 오류 메시지가 나오는데 해결방법 혹시 아시는지요? 감사합니다( )

ShanePark commented 2 years ago

@jaskiko 안녕하세요. .colima/default/docker.sock 에서 docker daemon연결 수립을 못하고 있다고 하는데 도커 설치를 제대로 하셨을까요? 제공해주신 정보만으로는 문제의 원인을 알 수가 없네요. https://stackoverflow.com/questions/72557053/why-does-colima-failed-to-find-docker-daemon 를 확인 해 보시고 그래도 안되면 지금까지 한 것 다 삭제 하고 처음부터 다시 설치해보세요

jaskiko commented 2 years ago

답변 감사드립니다. 혹시나해서 도커 삭제 후 재설치해서 설명해주신 내용대로 진행해보았는데 Database is ready to use 메시지 나오고 진행사항 기다리고 있습니다. 감사합니다.

Robinable commented 2 years ago

안녕하세요! 본문에 볼륨 폴더 지정하고 컨테이너를 띄우는 과정중에 , 소유자 및 퍼미션 변경을 하는 데 sudo chown -R 54321:54321 ~/Documents/oracledb 를 입력한 다음 password를 적을 때 sorry, try again 만 계속해서 나오는데..! 뭐가 잘못된걸까요..?

ShanePark commented 2 years ago

@Robinable 안녕하세요. 비밀번호를 잘못 입력하신 경우 입니다. 한/영 캡스락 키 등을 확인하고 천천히 다시 입력해보세요. 입력하시는 비밀번호는 sudo 비밀번호기 때문에 맥북 로그인 비밀번호를 입력 하셔야 해요. 혹시나 오라클 비밀번호를 입력하지 않도록 해주세요

Robinable commented 2 years ago

해결했습니다!! 덕분에 맥에서 오라클 설치해서 사용할 수 있게 됐어요..! 감사합니다!!

taehyeki commented 2 years ago

감사합니다 !!! 덕분에 설치 완료하였습니다.

하지만 찜찜한 점이 좀 있어 몇가지 질문을 드립니다. 첫 째로 colima start --memory 4 --arch x86_64를 하였을 때 작성자 분 화면 처럼 나오지 않고 "Non-strict YAML is deprecated and will be unsupported in a future version of Lima" 이런 비슷한 문장이 몇개 출력된 뒤 끝나네요 위 명령어를 다시 쳤더니 이미 실행중이라고 떠서 그냥 넘기고 설치까지 완료했는데 이 부분이 좀 찜찜하네요 ..ㅎㅎ 상관 없겠죠..?

두 번째는 도커 데스크탑을 켰을 때 oracle 이미지라던지 생성한 컨테이너가 보이지 않는데 이건 위에서 말씀 하신 colima context안에서 생성되었기에 그런건가요? 따라서 위에서 설명해주신 docker context를 default로 바꾸어 보니 이전에 사용하던 컨테이너들이 보이네요.

그럼 기존에 있던 컨테이너에 접속하려면 터미널에서 docker context를 default로 바꾼 뒤 사용하고, 오라클 컨테이너를 사용하려면 context를 colima로 바꾸어 사용하면 되나요??


colima를 start한 뒤 stop? 같은 명령어를 사용하여 멈추는 명령어가 안보여 직접 해보았습니다. 이 후 docker context ls 명령어를 해보니 colima가 사라지고, oracle에서 접속도 끊겼습니다.

이런 점을 토대로 유추해보자면... 도커 데스크탑을 사용하면 m1에서 오라클을 사용할 수 없다고 한다. 하지만 colima라는걸 사용하면 가능하다고 한다.
colima를 실행시킨다. (--memory 4 arch x86_64 옵션을 준 걸로 보아 오라클은 이 환경?에서 실행을 시켜야 하는데 도커 데스트탑은 이 환경이 아니기에 colima를 사용한 것으로 유추) 실행 시키면 docker context에 colima라는 것이 생김 여기서 oracle 컨테이너를 만들면 접속이 가능

따라서 오라클을 이용하기 위해선 colima를 항상 켜두어야 한다? 이렇게 생각해도 되나요??ㅠㅠㅠ

ShanePark commented 2 years ago

@taehyeki 안녕하세요 "Non-strict YAML is deprecated and will be unsupported in a future version of Lima" 는 전혀 신경 안쓰셔도 돼요. 저도 얼마전에 해당 메시지를 봐서 뭔가 했었는데 lima가 업데이트 되면서 Colima에서 거기 맞추지 못했던 것 뿐이고 작동에는 지장이 없더라고요. Colima 쪽에서도 이미 해결을 완료 한 이슈라서 새로운 버전으로 업데이트 하시면 에러는 더이상 나오지 않을거에요. https://github.com/abiosoft/colima/issues/426

도커 데스크탑이랑 같이 사용하신다면 context를 바꿔가면서 해도 되긴 하는데, 기본적으로 여러개의 컨텍스트를 사용하는건 추천하지 않아요. 포트 바인딩 등의 문제가 생길 수 있어서요.

말씀하신대로 Apple Silicon 환경에서는 아키텍처가 달라서 Docker Desktop으로는 Oracle 실행이 불가능하기 때문에 Colima를 통한 가상환경을 구축하는 거에요. 번거롭겠지만 오라클을 사용 할 때 마다 Colima를 실행 해 주셔야 합니다.

secverve commented 2 years ago

안녕하세요! 설치과정중 오류가 발생하여 문의드립니다. 콜리마 실행 이후 선생님의 화면과 다르게 start 옆에 도커랑 연동이 되있지가 않는거같고. 이후 docker run -e ORACLE_PASSWORD=pass -p 1521:1521 -d gvenzl/oracle-xe 명령어 실행 이후에 unable to find images 'gvenzl/oracle-xe:latest ' locally. docker : Error response from daemon : Get "https://registry-1. docker.io/v2/": doal tcp : look up registrry-1.docker.io on ip주소 :read udp ip주소. -> 아이피주소 i/o timeout 이라고 뜨는데 어떻게 해결해야 할까요 ?

ShanePark commented 2 years ago

@secverve 안녕하세요. https://stackoverflow.com/questions/49387263/docker-error-response-from-daemon-get-https-registry-1-docker-io-v2-servic 를 보면 대부분 도커 데몬 재시작으로 해결이 되었다고 하네요. start 옆에 도커랑 연동이 되있지가 않는거 같고 라고 말씀하신건 무슨 상황인지 잘 모르겠어요. 로그를 남겨주시면 이해가 빠를 것 같아요

mooonu commented 2 years ago

안녕하세요! 덕분에 m1 맥에서 오라클을 사용할 수 있게 되었네요! 정말 감사합니다.

저는 현재 대학생이고 이제 공부를 막 시작한 주니어 개발자인데요! 이 글 이후에 무엇을 어떻게 시작해야할지 모르는 사람들(저같은..)이 있을 것 같아 sqlplus에 접속하고 테이블을 생성하는 등 여러가지 방법을 소개하는 글을 블로그에 올리고 싶은데 출처를 남기고 글을 작성해도 될까요?

yeansoo commented 2 years ago

안녕하세요 이 글 덕에 M1맥북에서 오라클을 사용할 수 있게 되었습니다!! 다만 사용 중 디비에서 시간을 받아올 때 서버 기본시간인 UTC로 읽어와서 한국 시간과는 맞지 않아 구글링을해보았지만 도커를 제대로 이해하지 못한 저로써는 변경을 하지 못하고 있습니다ㅠㅠ 혹시 해결방법을 여쭤봐도 될까요??

ShanePark commented 2 years ago

@moonnu 안녕하세요. 물론입니다 :)

ShanePark commented 2 years ago

@yeansoo 안녕하세요. 오라클 시간대 변경 및 컨테이너의 시간대 변경을 하시면 될 것 같아요

dlcks0511 commented 2 years ago

colima start --memory 4 --arch x86_64 이부분 실행시키면

FATA[0000] error starting vm: error at 'starting': exit status 1 이런 오류가 뜨네요 ㅠㅠ 해결 방법이 있나요?

ShanePark commented 2 years ago

@dlcks0511 안녕하세요 . 위에 댓글 달아 주셨던 ssuuaa 님과 비슷한 상황 인 것 같네요 image

전부 지우고 재설치 해보시면 될 것 같아요.

brew unlink colima # If it is already installed, uninstall it first
brew install --HEAD colima
colima start --runtime docker
docker ps # success 

https://www.swyx.io/running-docker-without-docker-desktop

dlcks0511 commented 2 years ago

컴퓨터 재부팅 하고 다시 진행하니까 되네요 ㅠㅠ 정보 감사합니다!

MyDreamFlying commented 2 years ago

안녕하셨어요 선배님!! 지난번 질문하고 시간이 상당히 흘렀네요. 빡센 선생님께 jsp 배운다고.... 늦었습니다. 그렇다고 수업을 따라 갈수 있는건 아닌데 말이죠 ㅜㅜ 미루고 미루다 이번주 주말 결국 날 잡고 실행해 봤습니다. 에러에 에러에 에러.. 결국 m1 공장초기화하고 다시 도전해서 성공 했습니다. 귀한 정보 알려주셔서 너무 감사드립니다!