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,一经查实,立即删除!

相关文章

python记录日志_5分钟内解释日志记录—使用Python演练

python记录日志Making your code production-ready is not an easy task. There are so many things to consider, one of them being able to monitor the application’s flow. That’s where logging comes in — a simple tool to save some nerves and many, many hours.使…

理解 Linux 中 `ls` 的输出

理解 Linux 中 ls 的输出ls 的输出会因各 Linux 版本变种而略有差异&#xff0c;这里只讨论一般情况下的输出。 下面是来自 man page 关于 ls 的描述&#xff1a; $ man ls ls - list directory contents 列出文件夹中的内容。 但一般我们会配合着 -l 参数使用&#xff0c;将输…

锁表的进程和语句,并杀掉

查看锁表进程SQL语句1&#xff1a; select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id lo.object_id and lo.session_id sess.sid; 查看锁…

p值 t值 统计_非统计师的P值

p值 t值 统计Here is a summary of how I was taught to assess the p-value in hopes of helping some other non-statistician out there.这是关于如何教会我评估p值的摘要&#xff0c;希望可以帮助其他一些非统计学家。 P-value in Context上下文中的P值 Let’s start wit…

获取对象属性(key)

for…in方法Object.keysObject.getOwnPropertyNames关于对象的可枚举性&#xff08;enumerable&#xff09; var obj {a: 1,b: 2 } Object.defineProperty(obj, c, {value: 3,enumerable: false }) 复制代码enumerable设置为false&#xff0c;表示不可枚举&#xff0c;for…in…

github免费空间玩法

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

用php生成HTML文件的类

目的 用PHP生成HTML文档, 支持标签嵌套缩进, 支持标签自定义属性 起因 这个东西确实也是心血来潮写的, 本来打算是输出HTML片段用的, 但后来就干脆写成了一个可以输出完整HTML的功能; 我很满意里边的实现缩进的机制, 大家有用到的可以看看p.s. 现在都是真正的前后端分离了(vue,…

在Markdown中输入数学公式

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

如何不部署Keras / TensorFlow模型

While the most articles about deep learning are focusing at the modeling part, there are also few about how to deploy such models to production. Some of them say “production”, but they often simply use the un-optimized model and embed it into a Flask web…

[BZOJ3626] [LNOI2014] LCA 离线 树链剖分

题面 考虑到询问的\(l..r,z\)具有可减性&#xff0c;考虑把询问差分掉&#xff0c;拆成\(r,z\)和\(l-1,z\)。 显然这些LCA一定在\(z\)到根的路径上。下面的问题就是怎么统计。 考虑不是那么暴力的暴力。 我们似乎可以把\(1..r\)的所有点先瞎搞一下&#xff0c;求出一个点内部有…

Linux查看系统各类信息

说明&#xff1a;Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu&#xff0c;在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到…

biopython中文指南_Biopython新手指南-第1部分

biopython中文指南When you hear the word Biopython what is the first thing that came to your mind? A python library to handle biological data…? You are correct! Biopython provides a set of tools to perform bioinformatics computations on biological data s…

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

整合后台服务和驱动代码注入 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/…

Java作业09-异常

6. 为如下代码加上异常处理 byte[] content null; FileInputStream fis new FileInputStream("testfis.txt"); int bytesAvailabe fis.available();//获得该文件可用的字节数 if(bytesAvailabe>0){content new byte[bytesAvailabe];//创建可容纳文件大小的数组…

为数据计算提供强力引擎,阿里云文件存储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…

向量积判断优劣弧_判断经验论文优劣的10条诫命

向量积判断优劣弧There are a host of pathologies associated with the current peer review system that has been the subject of much discussion. One of the most substantive issues is that results reported in leading journals are commonly papers with the most e…

自定义PopView

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