初试Docker on Debian on VirtualBox
一直以来都对Docker如雷贯耳,很想尝试一下但都被各种忙给耽误了,最近由于项目调试,需要安装 Oracle 和 SQL Server 数据库,但又不想安装到本机系统里,于是下决心啃一下docker这块骨头。
操作系统是装在本机VirtualBox里的Debian jessie,根据Docker官方网站的文档进行安装和测试,倒也一切顺利。
到了docker pull的时候由于国外的源很慢,搜了一下,果然有国内的源,我选择了阿里云的,使用很方便,推荐。
一点个人的心得分享,供大家参考:(只了解了一点皮毛,感觉这玩意确实方便)
# Oracle XE 11g 容器配置(8521端口,SSH用8522端口)
# 数据库连接:localhost:,sid:xe,账号:system(SYS或SYSTEM也行),密码:oracle
# SSH连接:ssh root@localhost -p 密码:admin
docker run -d -p : -p : --name oracle- wnameless/oracle-xe-11g
# Oracle XE 11g 容器配置(默认端口,SSH默认端口,数据保存在宿主/var/data/oracle,允许远程连接)
docker run -d -p : -p : --name oracle- -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g # wnameless版本无法绑定本地卷,sath89版可以绑定本地卷,但是不绑定product目录,会丢失两个包含hostname的*.ora配置文件
# sath89版本好像也不支持ssh
docker run -d -p : -p : --name orcl-xe- -v /var/data/orcl-xe-:/u01/app/oracle sath89/oracle-xe-11g
docker run -d -p : -p : --name orcl-xe- -v /var/data/orcl-xe-:/u01/app/oracle sath89/oracle-xe-11g
# -d 表示在后台运行容器并返回容器的ID,-i 表示以交互方式运行容器(常与-t联用),-t 表示为容器重新分配一个伪输入终端
# -p 端口1:端口2 表示外部端口1映射到容器内部对应的端口2,我们在外部使用端口1就可以访问到容器内的服务了
# -v 本机路径:容器内路径 表示把本机目录映射到容器内的指定目录,在容器内操作指定目录其实是操作本机目录,可以保证删除容器后,需要保留的文件还在 # SQL Server for Linux
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=设置一个SA密码" -p : -v /var/data/mssql-:/var/opt/mssql --name mssql- -d microsoft/mssql-server-linux # 进入实例的bash
docker exec -it 实例名 bash # docker 的-v和volume只支持本机目录,如果是VirtualBox共享目录挂载的用-v不行,试的mssql直接退出,oracle不退出但也不能连接
个人建议:不直接在VirtualBox里操作,复制、粘贴都不方便,不如在WSL里用ssh连接到Debian再操作方便!
初试Docker on Debian on VirtualBox的更多相关文章
- Debian 安装 virtualbox
首先增加源: echo "deb http://download.virtualbox.org/virtualbox/debian stretch contrib" > /e ...
- docker下debian镜像开启ssh, 允许root用密码登录
用的官方python镜像做开发, 暴露端口, 用pycharm ssh进去开发. 忽然发现本来ssh能连上, 但是更了新的python镜像连不上了. 有折腾了一下, 连上了. 主要是python官网镜 ...
- Debian安装VirtualBox增强工具
切换到root用户: apt-get install build-essential 或者 apt-get install gcc make apt-get install dkms apt-get ...
- 初试docker以及搭建mysql on docker
前一阵阅读了google的borg论文,在最后的related works和总结中发现了kubernetes.从论文中了解的kubernetes这个东西很有意思,按照论文所说,它的实现有希望解决an ...
- Docker运行操作系统环境(BusyBox&Alpine&Debian/Ubuntu&CentOS/Fedora)
目前常用的Linux发行版主要包括Debian/Ubuntu系列和CentOS/Fedora系列.前者以自带软件包版本较新而出名:后者则宣称运行更稳定一些.选择哪个操作系统取决于读者的具体需求.同时, ...
- Debian安装Docker
Debian 安装 Docker CE 准备工作 系统要求 Docker CE 支持以下版本的 Debian 操作系统: Stretch 9 Jessie 8 (LTS) Wheezy 7.7 (LT ...
- 如何在Debian 9上安装和使用Docker
介绍 Docker是一个简化容器中应用程序进程管理过程的应用程序.容器允许您在资源隔离的进程中运行应用程序.它们与虚拟机类似,但容器更便携,更加资源友好,并且更依赖于主机操作系统. 在本教程中,您将在 ...
- 如何在 Debian 9 上安装和使用 Docker
Docker 是一个容器化平台,允许您快速构建,测试和部署应用程序,作为便携式,自给自足的容器,几乎可以在任何地方运行. Docker 是容器技术的事实上的标准,它是 DevOps 工程师及其持续集成 ...
- Docker 安装 - Docker 与前端(一)
Docker 是一个开源的容器引擎,可以方便的对容器进行管理.作为一种新兴的虚拟化方式,跟传统的虚拟化方式相比具有众多优势.<Docker 遇见前端>系列文章,旨在记录如何通过 docke ...
随机推荐
- 19、配置嵌入式servlet容器(下)
使用外置的Servlet 嵌入式Servlet容器:应用打成可执行的j ar 优点:简单.便携: 缺点:默认不支持JSP.优化定制比较复杂 使用定制器[ServerProperti ...
- Linux网络配置&进程管理
原理图 查看ip和网关
- maven编译package慢
mvn package编译出现连接不上mvn库的问题: [root@localhost nnnnn]# mvn package[INFO] Scanning for projects...Downlo ...
- Knowledge Point 20180303 对比编译器、解释器与Javac编译原理
编译器与Javac编译原理 在前文我们知道了Java是一种编译语言和解释语言,它的源代码经过编译器Javac编译为能够被JVM识别的二进制语言,然后JVM将其解释为能够被平台识别的机器语言.那么什么是 ...
- 安装oracle11g时遇到环境不满足最低要求
在安装oracle11g时出现问题:INS-13001环境不满足最低要求 解决方法:找到下载解压后的文件,依次打开以下文件路径:Oracle11g\database\stage\cvu, 在cvu文件 ...
- 增加oracle表空间
查找用户对应的表空间 1.查询表空间物理文件路径select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_ ...
- 20181029NOIP模拟赛T3
3 .空间活动 [题目描述] 贝茜和佩奇正在玩一款游戏,在游戏开始会生成一个有n个点m条单向边的地图,经过每条边需要花费价格为Hi的费用(Hi<=1000).但是如果两个点可以互相到达,那么这两 ...
- C++分享笔记:5X5单词字谜游戏设计
笔者在大学二年级刚学完C++程序设计后,做过一次课程设计,题目是:5X5单词字谜游戏设计.为了设计算法并编写程序,笔者在当时颇费了一番心力,最后还是成功地完成了.设计中不乏有精妙之处.该程序设计完全是 ...
- 设计四个线程,其中两个线程每次对j增加1,另外两个线程对j每次减1,写出程序
/* * 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1.写出程序. */ public class ThreadTest { private int j; public sta ...
- 配置SpringBoot方便的切换jar和war
配置SpringBoot方便的切换jar和war 网上关于如何切换,其实说的很明确,本文主要通过profile进行快速切换已实现在不同场合下,用不同的打包方式. jar到war修改步骤 pom文件修改 ...