win10下docker挂载以及容器访问宿主机中的oracle
win10下docker挂载以及容器访问宿主机中的oracle
win10下docker挂载以及容器访问宿主机中的oraclewin10下docker初探
- 目录
- 安装docker
- 下载镜像
- 创建软件目录(例:C:/test/software),并把安装包放在该目录下
- 启动容器
- 安装软件
- 退出容器
- 创建Tomcat镜像
- 启动Tomcat容器
目录
你好! 此篇为我在win10安装docker以及部署tomcat应用中遇到坑,在此记录供大家参考,如有错误,请指教。win10已装oracle ,之前一直通过localhost连接数据库。
-
开启 Hyper-V
-
下载docker-desktop
访问 https://www.docker.com/get-started,注册一个账号,然后登录。点击 Get started with Docker Desktop,并下载 Windows 的版本,如果你还没有登录,会要求注册登录:
-
运行安装文件
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: 开启端口
在防火墙里面增加入站规则,当然也可以直接关闭防火墙:
一直下一步即可,添加完成之后可以看到新增加的入站规则:
Step3:确定访问IP
查看/windows/system32/drivers/etc目录下host文件,内容中host.docker.internal
对应的IP 即是用来替换 localhost的。
win10下docker挂载以及容器访问宿主机中的oracle相关教程
-
关于解决win10 Shift+右击无法打开命令行工具问题
关于解决win10 Shift+右击无法打开命令行工具问题 关于解决win10 Shift+右击无法打开命令行工具问题 随着win10的逐渐流行,微软尝试使用更强大的powershell取代目前的cmd,但各有优缺点,cmd占据内存更小,启动响应速度更快。这里提出一种修改方法可以提供给
-
docker安装 CentOS
docker安装 CentOS 文章目录 前言 一、centos是什么? 二、安装步骤 1.查看可用的centos版本 2.拉取指定版本的镜像。 3.查看本地镜像。 4、运行容器 5、验证,安装成功 前言 本文主要介绍了如何在docker中安装centos 一、centos是什么? 官方:CentOS(Commun
-
docker+kubernetes+springcloud微服务集群部署,spring-cloud-ku
docker+kubernetes+springcloud微服务集群部署,spring-cloud-kubernetes,使用k8s部署spring cloud并实现服务注册、负载均衡、网关等功能 docker+kubernetes+springcloud微服务集群部署,spring-cloud-kubernetes,使用k8s部署spring cloud并实现服务注册、
-
如何使用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
-
如何在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
-
中国移动利用Vue绞手架开发企业级后台系统——解决win10本地配置
中国移动利用Vue绞手架开发企业级后台系统——解决win10本地配置Nginx服务器测试环境问题 文章目录 Nginx功能介绍 关于Nginx的下载 Nginx的启动 修改配置文件 错误记录环节! nginx启动命令 检查nginx是否启动成功 利用nginx访问8089端口对应目录的文件 Nginx
-
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
-
docker入门到实战
docker入门到实战 文章目录 为什么要使用docker? docker核心之image和container container资源限制 docker数据持久化 如何制作自己的Image Dockerfile实战Spring Boot项目 container常用API docker底层技术支持 为什么要使用docker? 我们部署项目到阿里云的时