win10下docker挂载以及容器访问宿主机中的oracle

作者:神秘网友 发布时间:2020-10-15 18:44:38

win10下docker挂载以及容器访问宿主机中的oracle

win10下docker挂载以及容器访问宿主机中的oracle

win10下docker初探

  • 目录
    • 安装docker
    • 下载镜像
    • 创建软件目录(例:C:/test/software),并把安装包放在该目录下
    • 启动容器
    • 安装软件
    • 退出容器
    • 创建Tomcat镜像
    • 启动Tomcat容器

目录

你好! 此篇为我在win10安装docker以及部署tomcat应用中遇到坑,在此记录供大家参考,如有错误,请指教。win10已装oracle ,之前一直通过localhost连接数据库。

  1. 开启 Hyper-V
    win10下docker挂载以及容器访问宿主机中的oracle
    win10下docker挂载以及容器访问宿主机中的oracle
    win10下docker挂载以及容器访问宿主机中的oracle
    win10下docker挂载以及容器访问宿主机中的oracle

  2. 下载docker-desktop
    访问 https://www.docker.com/get-started,注册一个账号,然后登录。点击 Get started with Docker Desktop,并下载 Windows 的版本,如果你还没有登录,会要求注册登录:
    win10下docker挂载以及容器访问宿主机中的oracle

  3. 运行安装文件
    win10下docker挂载以及容器访问宿主机中的oracle

win10下docker挂载以及容器访问宿主机中的oracle
tomcat、jdk版本自行选择。

容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。

使用以下命令即可启动容器:

docker run -i -t -v /c/test/software/:/mnt/software/ e934 /bin/bash 

命令包含以下三个部分:

docker run <相关参数> <镜像 ID> <初始命令>

坑1: win10中路径(C:/test/software)转变为(/c/test/software)

1、解压 JDK 程序包:

tar -zxf /mnt/software/jdk-8u121-linux-x64.tar.gz -C .

移动 JDK 目录:

mv jdk1.8.0_121/ /opt/jdk/

2、解压Tomcat程序包:

tar -zxf /mnt/software/apache-tomcat-7.0.81.tar.gz -C .

移动Tomcat目录:

mv apache-tomcat-7.0.81/ /opt/tomcat/

3、编写运行脚本
创建运行脚本:

touch /root/run.sh
vi /root/run.sh

编辑脚本内容如下:

#!/bin/bash
  
export JAVA_HOME=/opt/jdk/
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_OPTS=-Xmx700M -Xms700M -Xmn200M -XX:MaxMetaspaceSize=100M -XX:MetaspaceSize=100M 
sh /opt/tomcat/bin/catalina.sh run

为运行脚本添加执行权限:

chmod u+x /root/run.sh

坑2:设定JAVA_OPTS,以防tomcat内存溢出。docker内存溢出后会直接kill相关进程

使用exit命令,退出容器。

随后,可使用如下命令查看查看所有容器:

docker ps -a

记住以上CONTAINER ID(容器 ID),随后将通过该容器,创建一个可运行 Tomcat 镜像。

使用以下命令,根据某个“容器 ID”来创建一个新的“镜像”:

docker commit d4e3 mytomcat:1.0

该容器的ID是d4e3,所创建的镜像名是“mytomcat:1.0”,随后可使用镜像来启动Tomcat容器。

新建c:/test/webapps/目录,在该目录下存放自己的wen应用war,或者时解压缩的文件夹

要使用以下命令:

docker run -d -p 8080:8080 -v /c/test/webapps/:/opt/tomcat/webapps/ --name mytomcat_1 mytomcat:1.0 /root/run.sh

在浏览器中,输入宿主IP和端口号,即可访问 Tomcat
坑3:此时容器中web应用无法通过localhost连接宿主机win10中的Oracle,解决方案见下:
Step1: 修改配置文件

配置文件位于:安装目录\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora文件中,将默认的localhost改为你的计算机名。

Step2: 开启端口
在防火墙里面增加入站规则,当然也可以直接关闭防火墙:
win10下docker挂载以及容器访问宿主机中的oracle
win10下docker挂载以及容器访问宿主机中的oracle
一直下一步即可,添加完成之后可以看到新增加的入站规则:
win10下docker挂载以及容器访问宿主机中的oracle
Step3:确定访问IP
查看/windows/system32/drivers/etc目录下host文件,内容中host.docker.internal对应的IP 即是用来替换 localhost的。

win10下docker挂载以及容器访问宿主机中的oracle相关教程

  1. 关于解决win10 Shift+右击无法打开命令行工具问题

    关于解决win10 Shift+右击无法打开命令行工具问题 关于解决win10 Shift+右击无法打开命令行工具问题 随着win10的逐渐流行,微软尝试使用更强大的powershell取代目前的cmd,但各有优缺点,cmd占据内存更小,启动响应速度更快。这里提出一种修改方法可以提供给

  2. docker安装 CentOS

    docker安装 CentOS 文章目录 前言 一、centos是什么? 二、安装步骤 1.查看可用的centos版本 2.拉取指定版本的镜像。 3.查看本地镜像。 4、运行容器 5、验证,安装成功 前言 本文主要介绍了如何在docker中安装centos 一、centos是什么? 官方:CentOS(Commun

  3. docker+kubernetes+springcloud微服务集群部署,spring-cloud-ku

    docker+kubernetes+springcloud微服务集群部署,spring-cloud-kubernetes,使用k8s部署spring cloud并实现服务注册、负载均衡、网关等功能 docker+kubernetes+springcloud微服务集群部署,spring-cloud-kubernetes,使用k8s部署spring cloud并实现服务注册、

  4. 如何使用DockerFile为Docker容器构建映像?

    如何使用DockerFile为Docker容器构建映像? Docker containers run on and made changes to images. Generally, we use existing images which is like a template to create a new container. A lot of Linux distribution and software provide serve Docke

  5. 如何在Linux和Windows中挂载NFS共享?

    如何在Linux和Windows中挂载NFS共享? Network File System or NFS is a network-basedfilesystem protocol which is mainly used to share files and folders over the network. NFS is a UNIX based technology but can be used by most of the operating s

  6. 中国移动利用Vue绞手架开发企业级后台系统——解决win10本地配置

    中国移动利用Vue绞手架开发企业级后台系统——解决win10本地配置Nginx服务器测试环境问题 文章目录 Nginx功能介绍 关于Nginx的下载 Nginx的启动 修改配置文件 错误记录环节! nginx启动命令 检查nginx是否启动成功 利用nginx访问8089端口对应目录的文件 Nginx

  7. nexus3安装

    nexus3安装 1 查找 docker search nexus3 2 拉取 docker pull sonatype/nexus3 3 运行 docker run -id --privileged=true --name=nexus3 --restart=always -p 85:8081 -v /root/nexus3/data:/nexus-data 0ffbaec5b098 参数解释 -id 创建守护式容器 –privileg

  8. docker入门到实战

    docker入门到实战 文章目录 为什么要使用docker? docker核心之image和container container资源限制 docker数据持久化 如何制作自己的Image Dockerfile实战Spring Boot项目 container常用API docker底层技术支持 为什么要使用docker? 我们部署项目到阿里云的时