zoukankan      html  css  js  c++  java
  • 初试Docker on Debian on VirtualBox

    一直以来都对Docker如雷贯耳,很想尝试一下但都被各种忙给耽误了,最近由于项目调试,需要安装 Oracle 和 SQL Server 数据库,但又不想安装到本机系统里,于是下决心啃一下docker这块骨头。

    操作系统是装在本机VirtualBox里的Debian jessie,根据Docker官方网站的文档进行安装和测试,倒也一切顺利。

    到了docker pull的时候由于国外的源很慢,搜了一下,果然有国内的源,我选择了阿里云的,使用很方便,推荐。

    一点个人的心得分享,供大家参考:(只了解了一点皮毛,感觉这玩意确实方便)

    # Oracle XE 11g 容器配置(8521端口,SSH用8522端口)
    # 数据库连接:localhost:8521,sid:xe,账号:system(SYS或SYSTEM也行),密码:oracle
    # SSH连接:ssh root@localhost -p 8522 密码:admin
    docker run -d -p 8522:22 -p 8521:1521 --name oracle-8521 wnameless/oracle-xe-11g
    # Oracle XE 11g 容器配置(默认端口,SSH默认端口,数据保存在宿主/var/data/oracle,允许远程连接)
    docker run -d -p 22:22 -p 1521:1521 --name oracle-8521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g
    
    # wnameless版本无法绑定本地卷,sath89版可以绑定本地卷,但是不绑定product目录,会丢失两个包含hostname的*.ora配置文件
    # sath89版本好像也不支持ssh
    docker run -d -p 18080:8080 -p 11521:1521 --name orcl-xe-11521 -v /var/data/orcl-xe-11521:/u01/app/oracle sath89/oracle-xe-11g
    docker run -d -p 28080:8080 -p 21521:1521 --name orcl-xe-21521 -v /var/data/orcl-xe-21521:/u01/app/oracle sath89/oracle-xe-11g
    
    # -d 表示在后台运行容器并返回容器的ID,-i 表示以交互方式运行容器(常与-t联用),-t 表示为容器重新分配一个伪输入终端
    # -p 端口1:端口2 表示外部端口1映射到容器内部对应的端口2,我们在外部使用端口1就可以访问到容器内的服务了
    # -v 本机路径:容器内路径 表示把本机目录映射到容器内的指定目录,在容器内操作指定目录其实是操作本机目录,可以保证删除容器后,需要保留的文件还在 # SQL Server
    2017 for Linux docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=设置一个SA密码" -p 11433:1433 -v /var/data/mssql-11433:/var/opt/mssql --name mssql-11433 -d microsoft/mssql-server-linux # 进入实例的bash docker exec -it 实例名 bash # docker 的-v和volume只支持本机目录,如果是VirtualBox共享目录挂载的用-v不行,试的mssql直接退出,oracle不退出但也不能连接

    个人建议:不直接在VirtualBox里操作,复制、粘贴都不方便,不如在WSL里用ssh连接到Debian再操作方便!

  • 相关阅读:
    近期Android学习II
    近期Android学习
    Java中AQS基本实现原理
    Java中CAS 基本实现原理
    SpringBoot 消息国际化配置
    SpringBoot2.0 配置多数据源
    浅谈Java 线程池原理及使用方式
    Java并发编程之闭锁与栅栏
    Java 8 Stream API实例
    第二阶段考试
  • 原文地址:https://www.cnblogs.com/rangeon/p/8849916.html
Copyright © 2011-2022 走看看