我正在尝试在 Windows 10 的 docker 容器中安装 Oracle XE 18c。我已经安装了 docker,我需要按照此处的说明构建映像。
我克隆了 git 存储库,但我被困在这一步,因为我克隆的是 Linux 命令而不是 Windows。
克隆后:
git clone https://github.com/oracle/docker-images.git
如果我cd
要docker-images\OracleDatabase\SingleInstance\dockerfiles\18.4.0
构建图像,我会看到以下sh
命令,而不是exe
or bat
:
12/28/2019 01:36 PM 1,137 checkDBStatus.sh
12/28/2019 01:36 PM 905 checkSpace.sh
12/28/2019 01:36 PM 75 Checksum.xe
12/28/2019 01:36 PM 2,752 Dockerfile.xe
12/28/2019 01:36 PM 533 oracle-xe-18c.conf
12/28/2019 01:36 PM 6,132 runOracle.sh
12/28/2019 01:36 PM 775 setPassword.sh
如何在 Windows 中构建此映像?
使用 Wsl Ubuntu Bash 设置 Docker 可执行文件的路径,或者简单地从 Docker Tools 安装 Git Bash for Windows 并从 Git Bash 终端运行 shell 脚本(我更喜欢 Git Bash)。下载并复制 Oracle18xe rpm 文件到 18.40 文件夹
这是 Windows 的 Git Bash 的输出
成功运行shell脚本后
您可以通过 sqlplus 连接到数据库或使用 Windows Dos 登录到 docker 容器
要使用 WSL 子系统 bash 终端,请将路径和别名添加到 .bashrc
从 WSL Bash 终端
是的,我真的建议现在为 Docker 使用 WSL 或更确切地说是 WSL 2。
但是还有另一种(更简单的?)方法可以使用官方 Dockerfiles 构建 Oracle 18c Docker 映像(如果您认为需要,您甚至可以从 WSL/WSL2 内部使用这种方式)。
请注意,(Linux/Bash)脚本 buildDockerImage.sh 只是一个帮助器(检查校验和等),用于构建调用 docker 的命令。您可以使用可用的 Dockerfile 直接构建您的图像,即。Dockerfile.xe(在 18.0.4 的情况下)。
在文件夹“18.4.0”(您还保存了从 Oracle 下载的数据库(Linux 版本!))中输入:
[一定要包括 . (点)在最后,因为这告诉码头工人“这个文件夹”]
请注意,这大约需要 40-50 分钟。我已经这样做了(在 WSL 2 之前),它对我很有效。
HTH安德烈亚斯