安装centos
docker pull centos
- 查看镜像
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest 1e1148e4cc2c 2 months ago 202 MB
[root@localhost /]#
可以看到centos
还是很轻巧,只有202MB,不像虚拟机那样大。
- 启动
centos
容器
使用如下命令启动容器docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 1e1148e4cc2c /bin/bash
[root@localhost /]# docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 1e1148e4cc2c /bin/bash
[root@6316d53d801f /]#
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
—privileged=true 使用该参数,container内的root拥有真正的root权限。
安装jdk
这里通过yum方式安装,当然也可以下载二进制文件安装
#查看yum库中的java
yum -y list java*
#装需要的jdk版本的所有java程序
yum -y install java-1.8.0-openjdk*
安装完成查看java版本
[root@d6ff5de0fba5 /]# java -version
openjdk version "1.8.0_191"
查看java安装地址 (可通过yum install which
安装which
)
[root@d6ff5de0fba5 bin]# which java
/usr/bin/java
配置环境变量
#打开环境变量配置文件
vi /etc/profile
#增加下面内容到该文件
export JAVA_HOME=/usr/bin/java #这里是java的安装地址
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#使环境生效
source /etc/profile
安装tomcat
yum install wget
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.92/bin/apache-tomcat-7.0.92.tar.gz
tar zxvf apache-tomcat-7.0.92.tar.gz
# 添加JAVA_HOME和JRE_HOME两个环境变量
vi /mnt/software/apache-tomcat-7.0.92/bin/catalina.sh
# 增加下面内容到该文件
export JAVA_HOME=/usr
export JRE_HOME=/usr
#创建启动脚本
vi /root/run.sh
# 添加以下内容:
#!/bin/bash
# Export environment variable
source /etc/profile
# Start tomcat
sh /mnt/software/apache-tomcat-7.0.92/bin/catalina.sh run
#添加可执行权限:
chmod u+x /root/run.sh
构建镜像
构建完镜像可选择镜像上传至Docker Hub, 参考方法《docker中镜像的提交和上传》
镜像打包,参考方法 《docker镜像和容器的导出导入》
[root@localhost ~]# docker commit d6ff5de0fba5 mycentos:v1
sha256:fce3f9e8d88294ca110bb0ef327926576f664ea9d3d8db09c07be93c9f4f2e16
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mycentos v1 fce3f9e8d882 15 seconds ago 813 MB
docker.io/centos latest 1e1148e4cc2c 2 months ago 202 MB
启动镜像,端口映射值80端口,其他端口也可以,执行/root/run.sh
启动脚本。
[root@localhost ~]# docker run -d -p 80:8080 --name javaweb -v /root/software/:/mnt/software/ fce3f9e8d882 /root/run.sh
02c0914bd20f916ac10de2e52e1a017552621a76ad9f9a03931439c542a3a460
浏览器访问 宿主机ip:80
# 进入镜像
docker exec -it javaweb bash
# 测试文件
vi /mnt/software/apache-tomcat-7.0.92/webapps/demo.jsp
#写入一下内容
<%
String str = "Hello World";
out.print(str);
%>
访问测试文件,宿主机ip:80/demo.jsp
下次直接通过docker start javaweb
直接启动镜像就可以访问了。