我最近尝试创建一个 docker 容器并将其与我的 SQLDeveloper 连接,但我开始遇到一些奇怪的问题。我使用下面的拉取请求下载了 docker 镜像:
docker pull store/oracle/database-enterprise:12.2.0.1-slim
Run Code Online (Sandbox Code Playgroud)
然后我使用端口 1521 从我的 docker-desktop 启动了容器。容器启动时出现警告。

终端消息:
docker run -d -it -p 1521:1521 --name oracle store/oracle/database-enterprise:12.2.0.1-slim
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
5ea14c118397ce7ef2880786ac1fac061e8c92f9b09070edffe365653dcc03af
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试使用以下命令连接到数据库时:
docker exec -it 5ea14c118397 bash -c "source /home/oracle/.bashrc; sqlplus /nolog"
SQL> connect sys as sysdba;
Enter password:
ERROR:
ORA-12547: TNS:lost contact
Run Code Online (Sandbox Code Playgroud)
它显示此消息,我使用的密码是 Oradoc_db1。
现在,在看到一些建议后,我尝试使用以下命令连接到 sqlplus:
docker exec -it f888fa9d0247 bash -c "source /home/oracle/.bashrc; …Run Code Online (Sandbox Code Playgroud)