目标:在本机上安装docker,添加容器,在容器中部署tomcat,从外网可以访问即可配置环境ubuntu14.04
1、Ubuntu14.04自带安装包,该版本比较旧,从Docker官方源安装最新的版本,首先需要安装apt-transport-https,并添加Docker官方源。
安装apt-transport-https 插件,一般情况下系统都会有该插件
$sudo apt-get install apt-transport-https
给替换的源授权
$sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
替换官网上的docker源
$sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
更新源
$sudo apt-get update
安装docker
$sudo apt-get install -y lxc-docker
输入命名查看是否安装成功,显示如下所示,即安装成功
$sudo docker version
首先下载一个镜像,镜像为ubuntu 14.04,查看镜像使用docker images命令
下载镜像
$sudo docker pull ubuntu:14.04
查看镜像,如下所示,TAG为14.04即为刚刚下载的镜像
$sudo docker images
启动刚刚下载的镜像
$sudo docker run -t -i ubuntu:14.04 /bin/bash
查看刚刚启动的镜像,即正在运行的容器的id
$sudo docker ps
获得刚刚启动的容器ID为 f7a20304e55b
通过docker的cp命令,把主机上已经下好的jdk以及tomcat传送到容器中, cp命令的两种方式:1、从主机cp到容器中(containerId即为刚刚启动正在运行的容器Id)
$sudo docker cp /host-path/file <containerId>:/containter-path
2、从容器中cp到主机
$sudo docker cp <containerId>:/containter-path/file /host-path
这样把需要环境传入容器中,由于此部署只需要链接内部的tomcat,所以只需要传输jdk以及tomcat文件,jdk部署在/usr/local/jdk1.8.0_60/,
配置环境变量
打开以下文件
$vi ~/.bashrc
加入要配置的环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_60 export CLASSPATH=.:$JAVA_HOME/lib export PATH=$JAVA_HOME/bin:$PATH
修改完环境变量之后,使用source命令使.bashrc文件生效
$source ~/.bashrc
在任意目录下解压下载的tomcat.tar,
此时容器配置完毕
把修改后的容器进行版本提交(containerId为刚刚启动的容器id)
$sudo docker commit -m "含有tomcat的版本" -a tomcat <containerId> ubuntu:v6
提交之后我们会看到在docker的镜像里有新建的v6镜像
使用以下命令对端口进行映射 58080为主机的端口,8080为tomcat的端口,相当于把容器内部的端口映射到主机的端口中,这样通过外部即可访问容器的tomcat
$sudo docker run -p -t -i 58080:8080 --name javaweb ubuntu/14.04:v6
这样进入到容器内部,对容器进行启动,我们的tomcat放在/usr/local/tomcat下
$cd /usr/local/tomcat/bin/
启动tomcat
$sh startup.sh
启动完毕,进行访问
我们外部的主机地址为 http://192.168.5.27, 则加入端口58080,显示如下
成功!!!!!!!!