您的位置:首页 > 运维架构 > Docker

DOCKER windows 安装Tomcat内容

2016-07-11 23:40 771 查看


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位的


1.下载程序包

安装包 https://github.com/boot2docker/windows-installer/releases

下载最新版本的:docker-install.exe即可。 

该安装包安装完成后,系统上会多出三个软件:

Oracle VM VirtualBox 

Git 

Boot2Docker for Windows

以上三个默认安装即可。


2. 设置环境变量

 


在命令窗口中,输入ls 如果能找到命令说明环境添加正确。


3. 启动DOCKERT

在命令窗口中,切到docker的安装目录下 



输入sh: 

然后输入start.sh,等待启动 



第一次启动中,如果有新版本会更新,时间比较长。

如果第二次启动,就非常快了。 


4. 分析start.sh

#!/bin/bashset -e

# clear the MSYS MOTD
clear

cd "$(dirname "$BASH_SOURCE")"

ISO="$HOME/.boot2docker/boot2docker.iso"

if [ ! -e "$ISO" ]; then
echo 'copying initial boot2docker.iso (run "boot2docker.exe download" to update)'
mkdir -p "$(dirname "$ISO")"
cp ./boot2docker.iso "$ISO"fi

echo 'initializing...'
./boot2docker.exe init
echo

echo 'starting...'
./boot2docker.exe start
echo

./boot2docker.exe ip

echo 'connecting...'
./boot2docker.exe ssh
echo

echoecho '[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>



5. 利用SSH工具管理

在windows命令行进入docker后,不能复制,而且操作也不方便,因此用支持SSH的工具来管理是很好的,比如SECURECRT, PUTTY等,推荐用SECURECRT. 

在命令行下用boot2docker ip 可以查询到IP





boot2docker缺省的用户名是docker,密码是tcuser



登录后的界面: 




6. 下载镜像


6.1 下载地址

http://download.openvz.org/template/precreated 

选择下载 ubuntu-14.04-x86_64.tar.gz

或者http://download.csdn.net/detail/hanghangaidoudou/9572334

如果想要其他镜像,到http://download.openvz.org/template下面找


6.2 用FTP工具上传tar包

推荐使用:FileZilla 





面临的问题,可能是FTP会不好用,也不知道因为啥,有的好用有的不好用。这时候,就得想别的着把镜像下下来。可以在本地启动一个tomcat或者iis,然后把ubuntu-14.04-x86_64.tar.gz 文件放到对应的文件夹下。比如我在Tomcat的webapps下建立了个yes文件夹,启动tomcat

wget http://192.168.99.1:8080/yes/[b]ubuntu-14.04-x86_64.tar.gz  [/b]

[b]这样的方式也可以把镜像文件下载下来[/b]


6.3 安装

命令:cat ubuntu-14.04-x86_64.tar.gz |docker import - ubuntu:ubuntu14 

速度非常快,大概10几秒就完成了。


6.4 查看镜像

查看: docker images 




6.5 运行

运行:docker run -i -t ubuntu:ubuntu14 /bin/bash



可以开始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,容器一直存在。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: