写在前面:

本文环境:windows server 2019 1809版本/奔腾双核2.8G/8G内存/Docker Desktop2.3.0.3(即Docker for windows)

docker windows 子系统 docker windows server_oracle

1.确认CPU支持虚拟化并且主板bois中开启了CPU虚拟化

docker windows 子系统 docker windows server_docker windows 子系统_02

2.安装Hyper-V

通过操作系统添加删除角色(win10是添加删除功能)安装。安装中或者安装后配置一下网络(这一步对Docker不是必选项,主要是为了以后方便使用虚拟机)

docker windows 子系统 docker windows server_docker_03

docker windows 子系统 docker windows server_Docker_04

docker windows 子系统 docker windows server_docker_05

docker windows 子系统 docker windows server_docker windows 子系统_06

3.安装Docker for Windows 

官方地址https://www.docker.com/products/docker-desktop 我这里安装时版本是2.3.0.3

安装时记得购选 Enable Hyper-V Vindows Features.

Docker  for windows 如果运行环境是Linux则Docker用系统Hyper虚拟机创建运行需要的Linux环境。

docker windows 子系统 docker windows server_docker_07

docker windows 子系统 docker windows server_docker_08

docker windows 子系统 docker windows server_oracle_09

安装完桌面会有如下图标,桌面系统托盘区也会有Docker的图标。操作时docker都会有系统消息提醒。

docker windows 子系统 docker windows server_docker_10

docker windows 子系统 docker windows server_oracle_11

docker windows 子系统 docker windows server_docker_12

docker windows 子系统 docker windows server_docker_13

 

4.配置阿里云的本地镜像用于加速。

docker最方便的地方就算有官方和第三方上传的已经安装和配置好的应用软件环境。本文的oracle就算通过这种方式部署。阿里云提供本地镜像加速功能非常实用。

申请一下就可以,目前免费。

docker windows 子系统 docker windows server_docker_14

docker windows 子系统 docker windows server_docker_15

整完之后可以登陆一下(可选)

docker windows 子系统 docker windows server_docker windows 子系统_16

安装完之后,直接通过powershell就可以运行docker命令

docker windows 子系统 docker windows server_docker windows 子系统_17

6.安装Oracle

6.1 可以通过搜索官方库,然后在现有库里选择一个安装。例如可以直接安装下面搜出来的那一条。

docker windows 子系统 docker windows server_oracle_18

6.2 这里我直接别的帖子里介绍的,使用阿里云的镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

docker windows 子系统 docker windows server_Docker_19

6.3 启动oracle镜像作为容器 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

docker windows 子系统 docker windows server_oracle_20

6.4 这个时候docker就已经在 虚拟机里创建一个用于运行Linux环境的虚拟机 2内核 2G内存(我物理机配置双核 8G内存),docker for windows 是可以模拟应用环境跑在Windows环境下,但是Linux环境和Windows环境只能二选一。目前服务器类应用还是Linux环境用的多,docker安装后默认就算此模式这里就不修改了。

docker windows 子系统 docker windows server_oracle_21

6.5 配置oralce

进入oracle11g的docker运行环境 docker exec -it oracle11g bash

docker windows 子系统 docker windows server_docker windows 子系统_22

阿里云这个镜像Oracle安装路径 /home/oracle/app/oracle/product/11.2.0/dbhome_2中

docker windows 子系统 docker windows server_Docker_23

配置环境变量

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 
export ORACLE_SID=helowin 
export PATH=$ORACLE_HOME/bin:$PATH

依次执行以下命令,启用system用户
sqlplus /nologconn /as sysdba;alter user system identified by oracle; //这里是把system用户密码设为oracle
conn system/oracle;

查看安装的版本是64位的11.2.0.1(最新补丁是11.2.0.4)

docker windows 子系统 docker windows server_docker_24

6.6最后测试连接

docker windows 子系统 docker windows server_oracle_25

6.8如果需要修改实例名和数据库名。

可以参考 参考文档3:Oracle11g修改实例名和数据库名 2018-12-12 liaoyanyunde 比较费时费事。

7.其他说明

网上有很多教程是使用toolbox进行安装的。

http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 阿里云有连接。这个套件最新的版本是18年的18.03。是个早期的docker套件,当时还没支持Hyper-V,所以套件用VirtualBox作为虚拟机。阿里云相关文档说明很详细,建议win10以下操作系统使用toolbox,win10及对应服务器操作系统使用Docker for Windows也就是本文安装版本。

docker windows 子系统 docker windows server_docker windows 子系统_26

docker windows 子系统 docker windows server_Docker_27