DOCKER windows 安装Tomcat内容

DOCKER windows安装


  • DOCKER windows安装
    • 1.下载程序包
    • 2. 设置环境变量
    • 3. 启动DOCKERT
    • 4. 分析start.sh
    • 5. 利用SSH工具管理
    • 6. 下载镜像
      • 6.1 下载地址
      • 6.2 用FTP工具上传tar包
      • 6.3 安装
      • 6.4 查看镜像
      • 6.5 运行

windows必须是64位的

#!/bin/bashset -e# clear the MSYS MOTD
clearcd "$(dirname "$BASH_SOURCE")"ISO="$HOME/.boot2docker/boot2docker.iso"if [ ! -e "$ISO" ]; thenecho 'copying initial boot2docker.iso (run "boot2docker.exe download" to update)'mkdir -p "$(dirname "$ISO")"cp ./boot2docker.iso "$ISO"fiecho 'initializing...'
./boot2docker.exe init
echoecho 'starting...'
./boot2docker.exe start
echo./boot2docker.exe ipecho 'connecting...'
./boot2docker.exe ssh
echoechoecho '[Press any key to exit]'read

从内容上看主要是执行,如下语句

boot2docker.exe init
boot2docker.exe start
boot2docker.exe ssh

所有在命令行下执行 sh start.sh 即可

最近貌似docker也被GFW墙了

所以运行start.sh到init时,如果不幸长时间不进入下一步,就说明镜像被GFW挡住了,手动去github上下载镜像,地址为:

https://github.com/boot2docker/boot2docker/releases

如果还是无法下载成功,我是好心人,把1.1.2版本的boot2docker.iso镜像丢到了百度云上:

http://pan.baidu.com/s/1c01qieG

下载完毕之后放到目录:

<code><span class="pln">    C</span><span class="pun">:</span><span class="pln">\Users\你</span><span class="pun">的用户名</span><span class="pln">\.boot2docker\boot2docker</span><span class="pun">.</span><span class="pln">iso</span></code>

另外如果我们的物理机内存低于4G,那么跑这个sh可能需要修改一下,设置内存占用大小:

<code><span class="pln">boot2docker start </span><span class="pun">-</span><span class="pln">m</span><span class="pun">=</span><span class="lit">512</span></code>

可以开始DOCKER旅行了。

就拿要做tomcat集群分布式做例子,我们首先面临的就是,要把Docker容器里的的内容发布出去,不过在我们打ifconfig时候就会发现,

172.17.0.2和192.168.99.100俩网卡,不过在Docker里访问外网或者192.168.99.1是可以通的。不过在外面访问172.17.0.2是不通的,这个时候

就有一个参数-p   外网端口|内网端口,例子如下:

我们在启动容器的时候, docker run  -i -t  -d -p 8081:8080 ubuntu:ubuntu14 /bin/bash,这样内网的8081端口可以通过192.168.99.100:8080这个地址访问了。而在使用这个命令后,当前并不是停留在里面。所以我们要看下当前运行的进程,利用docker ps命令

docker@default:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
ce661e237aaa        5b21e1ea7e54        "/bin/bash"         5 seconds ago       Up 4 seconds        0.0.0.0:8081->8080/tcp   hopeful_minsky
b4da9fbb64a6        ubuntu:ubuntu14     "/bin/bash"         34 minutes ago      Up 34 minutes       0.0.0.0:8080->8080/tcp   mad_sammet
dd17cb3a0e35        ubuntu:ubuntu14     "/bin/bash"         About an hour ago   Up About an hour                             angry_kalam

这个时候我们发现这个进程名叫hopeful_minsky

然后我们就用 docker attach hopeful_minsky 就可以进入到容器内部。

而这个时候,容器里的linux是空空如也,啥都没有,我们要为他安装JDK,tomcat

wget http://192.168.99.1:8080/yes/apache-tomcat-7.0.52.zip
unzip apache-tomcat-7.0.52.zip
wget http://192.168.99.1:8080/yes/jdk-8u91-linux-x64.gz

tar -xzvf jdk-8u91-linux-x64.gz


然后进入到 etc/下找到profile

vi /etc/profile,在最后一行后面填写环境变量

export JAVA_HOME=/tomcat/bin/jdk1.8.0_91/
export JAVA_BIN=/tomcat/bin/jdk1.8.0_91/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH


之后就需要到tomcat的bin下,先要chmod 777那两个熟悉的startup.sh 和catalina.sh文件

chmod 777 startup.sh

chmod 777 catalina.sh

接下来就是启动tomcat

./startup.sh

这就说明成功了。

之后我们辛辛苦苦搭的tomcat 环境,在exit的那一刹那,全没了,那咋办?别着急,这玩意其实也是可以保存生成新的镜像的

当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。docker中保存状态的过程称之为committing,它保存的新旧状态之间的区别,从而产生一个新的版本。

目标:

首先使用docker ps -l命令获得安装完ping命令之后容器的id。然后把这个镜像保存为learn/ping。

提示:

1. 运行docker commit,可以查看该命令的参数列表。

2. 你需要指定要提交保存容器的ID。(译者按:通过docker ps -l 命令获得)

3. 无需拷贝完整的id,通常来讲最开始的三至四个字母即可区分。 

这时候在打docker images,你会发现多出来镜像了

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              5b21e1ea7e54        29 minutes ago      1.019 GB
<none>              <none>              9505c52a1644        32 minutes ago      1.019 GB
<none>              <none>              b9a4bba4aa80        About an hour ago   1.2 GB
<none>              <none>              b46f3ab23a1e        About an hour ago   1.019 GB
<none>              <none>              a8ac084c4be4        2 hours ago         653.7 MB
 
ubuntu              ubuntu14            3c1b6503833a        27 hours ago        415.7 MB 

看Created就知道哪个是刚刚建设的了。那不对啊,刚刚起ubuntu的时候,都有tag的,这。。。。none了,咋起。

呵呵,一样docker run  -i -t  -d -p 8081:8080 IMAGEID /bin/bash也一样启动,如上面的IMAGEID是5b21e1ea7e54的容器。

docker run  -i -t  -d -p 8081:8080 5b21e1ea7e54 /bin/bash

多个端口可以用

docker run  -i -t  -d -p 8081:8080 -p 23:22  5b21e1ea7e54 /bin/bash

如果你用xshell或crt,以这种方式起来的,直接关闭,只要不exit,容器一直存在。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/387976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

github免费空间玩法

GitHub 是一个用于使用Git版本控制系统的项目的基于互联网的存取服务,GitHub于2008年2月运行。在2010年6月&#xff0c;GitHub宣布它现在已经提供可1百万项目&#xff0c;可以说非常强大。 Github虽然是一个代码仓库&#xff0c;但是Github还免费为大家提供一个免费开源Github …

在Markdown中输入数学公式

写在前面 最近想要把一些数学和编程方面的笔记记录成电子笔记&#xff0c;因为修改、插入新内容等比较方便。这里记一下在Markdown中输入数学公式的方法。 基础知识 公式与文本的区别 公式输入和文本输入属于不同的模式&#xff0c;公式中无法通过空格来控制空白&#xff0c;通…

整合后台服务和驱动代码注入

整合后台服务和驱动代码注入 Home键的驱动代码&#xff1a; /dev/input/event1: 0001 0066 00000001 /dev/input/event1: 0000 0000 00000000 /dev/input/event1: 0001 0066 00000000 /dev/input/event1: 0000 0000 00000000 对应输入的驱动代码&#xff1a; sendevent/dev/…

为数据计算提供强力引擎,阿里云文件存储HDFS v1.0公测发布

2019独角兽企业重金招聘Python工程师标准>>> 在2019年3月的北京云栖峰会上&#xff0c;阿里云正式推出全球首个云原生HDFS存储服务—文件存储HDFS&#xff0c;为数据分析业务在云上提供可线性扩展的吞吐能力和免运维的快速弹性伸缩能力&#xff0c;降低用户TCO。阿里…

对食材的敬畏之心极致产品_这些数据科学产品组合将给您带来敬畏和启发(2020年中的版本)

对食材的敬畏之心极致产品重点 (Top highlight)为什么选择投资组合&#xff1f; (Why portfolios?) Data science is a tough field. It combines in equal parts mathematics and statistics, computer science, and black magic. As of mid-2020, it is also a booming fiel…

android模拟用户输入

目录(?)[-] geteventsendeventinput keyevent 本文讲的是通过使用代码&#xff0c;可以控制手机的屏幕和物理按键&#xff0c;也就是说不只是在某一个APP里去操作&#xff0c;而是整个手机系统。 getevent/sendevent getevent&sendevent 是Android系统下的一个工具&#x…

真格量化常见报错信息和Debug方法

1.打印日志 1.1 在代码中添加运行到特定部分的提示&#xff1a; 如果我们在用户日志未能看到“调用到OnQuote事件”文字&#xff0c;说明其之前的代码就出了问题&#xff0c;导致程序无法运行到OnQuote函数里的提示部分。解决方案为仔细检查该部分之前的代码是否出现问题。 1.2…

自定义PopView

改代码是参考一个Demo直接改的&#xff0c;代码中有一些漏洞&#xff0c;如果发现其他的问题&#xff0c;可以下方直接留言 .h文件 #import <UIKit/UIKit.h> typedef void(^PopoverBlock)(NSInteger index); interface CustomPopView : UIView //property(nonatomic,copy…

当编程语言掌握在企业手中,是生机还是危机?

2019年4月&#xff0c;Java的收费时代来临了&#xff01; Java是由Sun微系统公司在1995年推出的编程语言&#xff0c;2010年Oracle收购了Sun之后&#xff0c;Java的所有者也就自然变成了Oracle。2019年&#xff0c;Oracle宣布将停止Java 8更新的免费支持&#xff0c;未来Java的…

数据可视化 信息可视化_动机可视化

数据可视化 信息可视化John Snow’s map of Cholera cases near London’s Broad Street.约翰斯诺(John Snow)在伦敦宽街附近的霍乱病例地图。 John Snow, “the father of epidemiology,” is famous for his cholera maps. These maps represent so many of our aspirations …

android 接听和挂断实现方式

转载▼标签&#xff1a; android 接听 挂断 it 分类&#xff1a; android应用技巧 参考&#xff1a;android 来电接听和挂断 支持目前所有版本 注意&#xff1a;android2.3版本及以上不支持下面的自动接听方法。 &#xff08;会抛异常&#xff1a;java.lang.Securi…

利用延迟关联或者子查询优化超多分页场景

2019独角兽企业重金招聘Python工程师标准>>> MySQL并不是跳过offset行&#xff0c;而是取offsetN行&#xff0c;然后返回放弃前offset行&#xff0c;返回N行&#xff0c;那当offset 特别大的时候&#xff0c;效率就非常的低下&#xff0c;要么控制返回的总页数&…

客户流失_了解客户流失

客户流失Big Data Analytics within a real-life example of digital music service数字音乐服务真实示例中的大数据分析 Customer churn is a key predictor of the long term success or failure of a business. It is the rate at which customers are leaving your busine…

Nginx:Nginx limit_req limit_conn限速

简介 Nginx是一个异步框架的Web服务器&#xff0c;也可以用作反向代理&#xff0c;负载均衡器和HTTP缓存&#xff0c;最常用的便是Web服务器。nginx对于预防一些攻击也是很有效的&#xff0c;例如CC攻击&#xff0c;爬虫&#xff0c;本文将介绍限制这些攻击的方法&#xff0c;可…

Linux实战教学笔记12:linux三剑客之sed命令精讲

第十二节 linux三剑客之sed命令精讲 标签&#xff08;空格分隔&#xff09;&#xff1a; Linux实战教学笔记-陈思齐 ---更多资料点我查看 1&#xff0c;前言 我们都知道&#xff0c;在Linux中一切皆文件&#xff0c;比如配置文件&#xff0c;日志文件&#xff0c;启动文件等等。…

activiti 为什么需要采用乐观锁?

乐观锁 为什么需要采用乐观锁&#xff1f; 由于activiti一个周期的transaction时间可能比较长&#xff0c;且同一流程实例中存在任务并发执行等场景。设计者将update、insert、delete事务性的操作推迟至command结束时完成&#xff0c;这样尽量降低锁冲突的概率&#xff0c;由…

支付宝架构

支付宝系统架构图如下&#xff1a; 支付宝架构文档有两个搞支付平台设计的人必须仔细揣摩的要点。 一个是账务处理。在记账方面&#xff0c;涉及到内外两个子系统&#xff0c;外部子系统是单边账&#xff0c;满足线上性能需求&#xff1b;内部子系统走复式记账&#xff0c;满足…

Android Studio 导入新工程项目

1 导入之前先修改工程下相关文件 1.1 只需修改如下三个地方1.2 修改build.gradle文件 1.3 修改gradle/wrapper/gradle-wrapper.properties 1.4 修改app/build.gradle 2 导入修改后的工程 2.1 选择File|New|Import Project 2.2 选择修改后的工程 如果工程没有变成AS符号&#xf…

马蜂窝张矗:绩效考核是为了激发工作潜力,而不是逃避问题

3 月 23 日&#xff0c;由高端技术领导者社交平台 TGO 鲲鹏会主办的 GTLC 全球技术领导峰会分站首站在北京举行。会上马蜂窝技术副总裁 \u0026amp; TGO 鲲鹏会会员张矗发表了主题为“我在马蜂窝的技术管理实践”的演讲。本文根据其演讲整理而成。大家好&#xff0c;我是来自马蜂…

fiddler抓包1-抓小程序https包

抓小程序包和抓app包是一样的操作方法&#xff1b;安卓用fiddler&#xff0c;ios用charles&#xff1b; 一、环境准备 1.电脑已装最新版fiddler 2.手机和电脑在同一局域网 二、fiddler设置 1.fiddler>Tools>Options>HTTPS 勾选Capture HTTPS CONNECTs 及下边的子项&am…