用Docker容器配置jdk以及tomcat
刚开始研究Docker,配置过程都是从晚上搜来的,然后自己整理了一下,也有很多不是特别理解的地方,可能也有不准确的地方,希望读者能指教。
准备:
1、系统:ubuntu系统。
2、本地下载好jdk、tomcat,以tar.gz结尾。
安装jdk、tomcat
1、首先用Ctrl+Alt+T打开终端
2、进入/usr目录下,用sudo mkdir java命令创建java文件夹
3、运行sudo cp /home/wangjie/下载/apache-tomcat-7.0.73.tar.gz ./java/将tomcat以及jdk拷贝到新创建的文件夹目录下。
4、运行sudo tar zxvf apache-tomcat-7.0.73.tar.gz命令将tomcat以及jdk解压到本目录下。如图所示:
5、运行ls查看目录下内容:
6、使用vi /etc/profile打开profile文件,点击i进入编辑模式,配置环境变量完成后,点击Esc,输入:w !sudo tee %命令强制保存,并输入o确认,点击enter建继续,输入:q!命令强制退出。编辑环境变量如图:
7、退出编辑以后,执行source /etc/profile命令,使环境变量生效。然后验证环境变量是否配置成功,输入javac,如下:
说明已经配置成功。
下载Docker并安装镜像
1、此处是通过docker源下载的最新版本的docker,执行命令如下:
$ sudo apt-get install apt-transport-https
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
下载好以后,用命令sudo service docker start启动docker服务,如下:
不报错就说明服务启动成功。
2、docker服务启动之后,执行sudo docker pull centos命令下载最新版本的centos镜像。下载成功后,用sudo docker images命令查看镜像。如图:
创建容器并挂载jdk、tomcat
1、执行命令sudo docker run -i -t -v /usr/java/:/usr/java/ centos /bin/bash将本地/usr/java/目录下的内容挂载到容器的/usr/java/目录下,若centos镜像所创建的容器里没有该文件夹则自动创建。进来容器后,可用ls去查看容器里/usr/java/下是否有内容,如图:
2、配置环境变量,执行vi .bashrc打开.bashrc文件,点击i进入编辑模式,配置好环境变量后,点击Esc退出编辑模式,输入:wq命令回车保存,如图:
3、环境变量配置好以后,执行source .bashrc命令使环境变量生效。然后输入javac验证配置是否成功。如图:
4、配置成功之后,输入Ctrl+P、Ctrl+Q切换到容器外部。运行sudo docker ps查看正在运行的容器,如图:
5、使用sudo docker commit 容器ID 新镜像名 命令来创建一个Tomcat镜像,如图:
6、执行 sudo docker inspect 容器ID 命令查看容器IP,然后执行sudo iptables -t nat -A DOCKER -p tcp --dport 8888 -j DNAT --to-destination 172.17.0.2:8080 命令将容器的8080端口映射到Docker主机的8888端口。
7、然后在浏览器输入Docker主机IP+8888端口访问到tomcat首页,如图: