docker快速入门+搭建javaweb环境

一、windows安装

不要安装旧的 boot2docker包,直接安装DockerToolbox。

一路next,安装完成以后

试用

1、以管理员身份运行 docker quickstart terminal。

docker version

因种种原因,重装了不下5次,终于成功了!

二、centos安装

先更新centos版本

sudo yum update

sudo yum -y install docker-io

需要切换到root用户

sudo su

service  docker start

三、基础概念

LXC

linux container

百度百科:http://baike.baidu.com/link?url=w_Xy56MN9infb0hfYObib4PlXm-PW02hzTlCLLb1W2dbdQr4AJcrWuxoe9ng9SxYgORKeAQSk0TJOXEL8BnEqK

docker在linux内核容器的基础上提供了更高层的控制工具。

跨主机部署:通过镜像将应用程序和所依赖的文件打包到同一个镜像文件中。

以应用为中心:dockerfile机制大大简化和规范了应用的部署方法。

自动构建:从源码自动构建成镜像。

版本管理:镜像版本管理。

组件重用:任何镜像都可以是基础镜像。

共享:公共镜像,docker registry,docker hub。

工具生态链。

虚拟机

虚拟机是对硬件资源进行划分。

hypervisor

百度百科:http://baike.baidu.com/link?url=32LeXPssolv90-9E2jNHJfSY86zRCTqm6dKcn1ERZfQghBkRTTj84jM-EyvT56RTEvAeCZ9RGgJifa-s0gRY0q

虚拟机独占资源,docker 不同容器之前可以共享部分操作系统资源。

容器

容器=cgroup+namespace+rootfs+容器引擎。

NameSpace:命名空间,主要做访问隔离。(linux内核6中namespace)

Cgroup:control group,控制组,主要做资源控制。 (控制进程对系统资源的试用,包括cpu,内存,block I/O,网络带宽)

rootfs:文件系统隔离。rootfs=Root Fils System所谓的rootfs,根文件系统,就是那些,能让操作系统正常运行的,文件夹和文件的大集合

容器引擎:生命周期控制。

镜像

docker image 是用来启动容器的只读模板,是容器启动所需的rootfs。

remote-dockerhub.com/namespace/bar:latest

制作、管理、上传、下载镜像

下载镜像

docker pull busybox

导出镜像

docker save -o busybox.tar busybox

导入镜像

docker load -i busybox.tar

查看元数据

docker inspect busybox:latest

下载centos

docker pull centos

镜像确认

docker images centos

运行centos

docker run -i -t centos /bin/bash

ls /etc

安装wget,制作成一个新镜像

docker run -i -t centos /bin/bash

# yum install -y wget

安装完成以后退出。

# exit

每次执行docker run都会去独立的创建一个新的container来执行程序,输入docker ps -a 找到刚才安装过wget工具的container ID,要把这个container重新做成一个新的image模版。

docker ps -a

制作一个新的镜像

docker commit 541 zuimao-centos

docker images

执行wget

docker run -t -i --rm=true e8 wget www.baidu.com

登录 docker hub

docker login -u user -p pass

四、linux宿主中搭建java web环境

下载jdk和tomcat

下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

下载tomcat:http://tomcat.apache.org/download-70.cgi

把jdk和tomcat复制到虚拟机中

虚拟机如何与主机之间直接复制粘贴文件

http://jingyan.baidu.com/article/c33e3f48a5c153ea15cbb5b2.html

文件先复制到了桌面, 通过 mv 指令移动到 /mnt/soft中。

将虚拟机 centos 的 /mnt/soft挂载到 镜像中

docker run -i -t -v /mnt/soft/:/mnt/soft 2a /bin/bash

安装jdk

yum -y installjdk-7u79-linux-x64.rpm

查找jdk rpm包安装路径

# rpm -qa

# rpm -qlrpm -ql jdk-1.7.0_79-fcs.x86_64

可以看到是安装在 /usr/java 下

安装zip uzip

# yum install zip unzip

安装 tomcat

unzipapache-tomcat-7.0.70.zip -d /usr

mvapache-tomcat-7.0.70.ziptomcat

中途退了出来,重新生成一下镜像

docker ps -a

docker commit 68 zuimao-centos

注意,再启动镜像就是新生成的镜像了

docker run -i -t -v /mnt/soft/:/mnt/soft c9 /bin/bash

可以看到刚才安装的 tomcat 和java 都在。

配置java和tomcat环境变量

vi /etc/profile

加入以下代码

#set java

export JAVA_HOME=/data/jdk

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

#set tomcat

export CATALINA_HOME=/data/tomcat

export CATALINA_BASE=/data/tomcat

退出vi后,让设置立即生效

source /etc/profile

容器启动时启动tomcat

vi  /root/run.sh

加入以下代码

#!/bin/bash

source /etc/profile

# Start tomcat

bash /usr/tomcat/bin/catalina.sh run

退出vi后,为运行脚本添加执行权限

chmod u+x /root/run.sh

退出当前容器后,重新生成镜像

exit

docker ps -a

docker commit c9b270c008fa zuimao-centos

启动容器内部的 Tomcat 服务

不再进入容器的命令行,而是直接启动容器内部的 Tomcat 服务

docker run -d -p 18080:8080  --name javaweb zuimao-centos /root/run.sh

确认是否启动成功

docker ps

查看docker container ip地址

docker  inspect fe

通过宿主ip访问

ifconfig -a

提交镜像到docker仓库

登录

docker login

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容