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,容器一直存在。
相关文章推荐
- 制作docker image
- docker学习笔记
- Kubernetes 集群的两种部署过程(daemon部署和容器化部署)以及glusterfs的应用!
- docker 使用
- 解决Docker build时 Sending build context to Docker daemon 过大的问题
- Docker构建并测试Web应用程序
- docker4dotnet #1 – 前世今生 & 世界你好
- docker常用命令详解
- docker 使用教程(2)常用命令
- docker4dotnet #1 – 前世今生 & 世界你好
- docker4dotnet #1 – 前世今生 & 世界你好
- docker4dotnet #1 – 前世今生 & 世界你好
- 基于Docker服务的java Web服务搭建
- Docker Registry——搭建专属的容器仓库
- docker在windows上为啥需要虚拟化。
- docker安装。
- docker镜像
- 不小心一个命令触及到了Docker的底限了,他爆发了
- docker : etcd +flannel 多机互联
- docker 镜像生成