java怎么创建容器存放实例,docker构建javaweb 环境(jdk1.8+tomcat8)

本文阐述如何创建一个docker实例,以及安装tomcat8和 jdk1.8

① 原材料准备

准备一台centos的linux操作系统一枚

配置要求:

必须是64位操作系统,建议内核在3.8以上,查看内核命令:uname -r

② 使用yum安装docker

# yum install docker

# docker version

# systemctl start docker.service

以上三步是安装docker,查看docker版本(是否安装成功),启动docker服务

59e0a8828b3b

image.png

③ 获取centos镜像

docker下载centos镜像

docker pull centos:7.2.1511

查看本地镜像信息

docker images

59e0a8828b3b

image.png

REPOSITORY :仓库名称

TAG : 镜像标签 (后面可用于发布到个人dockerhub上)

IMAGE ID : 镜像ID

CREATED : 创建时间

SIZE : 大小

下载的centos镜像ID为:======4cbf48630b46======

② 创建容器

容器是基于镜像创建的,执行镜像生成容器,方可进入容器

启动容器命令: docker run

启动容器

docker run -i -t -v /root/software/:/mnt/software/ 4cbf48630b46 /bin/bash

参数解析

-i:表示以“交互模式”运行容器

-t:表示容器启动后会进入其命令行

-v:表示需要将本地哪个目录挂载到容器中,格式:-v :

/bin/bash:一旦容器启动,需要执行的命令,当前使用 "/bin/bash", 表示启动后直接进bash shell

tips:这里挂载的意思就是 4cbf48630b46创建的容器访问 /mnt/software/ 目录下的文件就相当于访问 宿主机的 /root/software/下的文件,且两者文件夹里内容相同

==执行完上面命令后,自动会进入容器内部。==

59e0a8828b3b

image.png

退出当前容器命令:ctrl+d 或者 直接输入 exit

59e0a8828b3b

image.png

进入容器命令

docker ps : 查看当前运行的容器信息(刚才那种退出方式就会默认关闭容器)

docker ps -a : 查看关闭的容器

59e0a8828b3b

image.png

docker start [容器ID]:启动容器

docker exec -it [容器ID] /bin/bash : 进入容器

59e0a8828b3b

image.png

进入容器的方式有好多种,还有docker attach [容器ID],但是在下用这个命令经常卡死

常用进入容器传送门:

https://blog.csdn.net/skh2015java/article/details/80229930

③在容器内部安装tomcat8+jdk1.8 【版本一样安装

下载 tomcat和jdk的 tar包,通过ftp工具上传到宿主服务器的/root/software/文件下,因为前面做了挂载,所以待会进入docker容器里的/mnt/software/文件夹下也是可以看到的

59e0a8828b3b

image.png

进入到容器内部,进入/mnt/software/ 你会发现这里已经有了两个tar包

cd /mnt/software/

59e0a8828b3b

image.png

好了,接下在安装tomcat 和 jdk 和 平时在linux安装差不多

解压,然后丢到 /opt/ 文件目录下

tar -zxvf apache-tomcat-8.0.53.tar.gz

tar -zxvf jdk-8u141-linux-x64.tar.gz

mv apache-tomcat-8.0.53 /opt/tomcat

mv jdk1.8.0_141/ /opt/jdk

设置java 环境变量

vi /etc/profile

在文件末尾加上

JAVA_HOME=/opt/jdk/

JAVA_BIN=/opt/jdk/bin

JRE_HOME=/opt/jdk/jre

CLASSPATH=/opt/jdk/jre/lib:/opt/jdk/lib:/opt/jdk/jre/lib/charsets.jar

export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH

使得配置立马有效

source /etc/profile

vi ~/.bashrc

在文件末尾加上

export JAVA_HOME=/opt/jdk

export PATH=$JAVA_HOME/bin:$PATH

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

使得配置立马有效

source ~/.bashrc

看了网上好多设置一个就可以了,但是在下总是不成功,很生气所以两个都设置了。(实践得出 设置 bashrc 这个就可以了)

看看成功没

java -version

59e0a8828b3b

image.png

OK !!!

这个容器的初衷是用来当web服务器,所以可以把这个容器理解为 启动容器,则启动tomcat,所以这里要写个启动脚本

vi /root/run.sh

在里面加入,用于启动tomcat

#!/bin/bash

source ~/.bashrc

sh /opt/tomcat/bin/catalina.sh run

设置run.sh 权限

chmod u+x /root/run.sh

这个时候都安装完毕,输入eixt退出容器

回顾一下,我们是用了centos镜像,运行,生成了一个容器,然后再容器里面安装了 jdk 和tomcat ,这个时候我们可以创建一个tomcat镜像

④ 创建tomcat镜像

根据之前安装好环境的容器ID 创建一个镜像

docker commit [容器ID] mytomcat:1.0

docker ps -a

docker commit 8acb7b3d6782 mytomcat:1.0

docker images

59e0a8828b3b

image.png

好了,tomcat镜像已经完毕

⑤ 启动tomcat容器

首先再宿主服务器创建一个webapps文件夹,用来存放项目,映射容器中的 tomcat 的webapps,这里就写个index.html 得了,存放在 宿主机的 /root/webapps/test

备注:不要把index.html 直接丢到webapps下,否则访问会 404,创建一个文件夹放index.html ,这里是test文件夹。

mkdir /root/webapps/test

cd /root/webapps/test

vi index.html

在index.html 写个hello

59e0a8828b3b

image.png

==启动tomcat==

docker run -d -p 58080:8080 -v /root/webapps/:/opt/tomcat/webapps/ --name mytomcat_1 mytomcat:1.0 /root/run.sh

参数解释:

-d:以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。

-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。

-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。

-v:表示需要将本地哪个目录挂载到容器中,格式:-v :

--name:表示容器名称,用一个有意义的名称命名即可。

查看是否启动成功

docker ps

59e0a8828b3b

image.png

好了浏览器访问: ip:58080/test/index.html

59e0a8828b3b

image.png

OK 大功告成,下篇写如何把自己的镜像丢到dockerhub 上面,然后随时随地可以拉取下来以供使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值