容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。既然镜像已经下载到本地,那么如何才能启动容器呢?
只需使用以下命令即可启动容器:
docker run -i -t -v /mnt/hgfs/vmshare/:/mnt/software/ b969ab9f929b /bin/bash
这条命令比较长,我们稍微分解一下,其实包含以下三个部分:
docker run <相关参数> <镜像 ID> <初始命令>
其中,相关参数包括:
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
假设我们的所有安装程序都放在了宿主机的/mnt/hgfs/vmshare/目录下,现在需要将其挂载到容器的/mnt/software/目录下。
复制jdk-8u102-linux-x64.gz到/opt/目录下
解压tar -zxvf jdk-8u102-linux-x64.gz
tar -zvxf apache-tomcat-8.0.41.tar.gz
配置
export JAVA_HOME=/opt/jdk1.8.0_102
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export TOMCAT_HOME=/opt/apache-tomcat-8.0.41
export CATALINA_HOME=$TOMCAT_HOME
修改tomcat编码 :
让环境变量生效:source /etc/profile
验证tomcat
-------------------------------------华丽分割线---------------------------------
下面是docker里面配置tomcat:
1、进入容器,创建运行脚本:
#!/bin/bash
source /etc/profile
sh /opt/apache-tomcat-8.0.41/bin/catalina.sh run
注意:这里必须先加载环境变量,然后使用 Tomcat 的运行脚本来启动 Tomcat 服务。
最后,为运行脚本添加执行权限:chmod 777 /root/run.sh
2、退出容器
3、创建 Java Web 镜像
使用以下命令,根据某个“容器 ID”来创建一个新的“镜像”:
docker commit 0992c744874b huangyong/javaweb:1.0
该容器ID是0992c744874b,所创建的镜像名是huangyong/javaweb:1.0,随后可使用镜像来启动 Java Web 容器。
4、启动 Java Web 容器
此时已经看到了最新创建的镜像huangyong/javaweb:1.0,其镜像ID是d5fabeb54833
宿主机上建立目录:/root/webapps/ROOT/ 里面放一个index.html文件
docker run -d -p 58080:8080 -v /root/webapps/:/opt/apache-tomcat-8.0.41/webapps/ --name mytomcat huangyong/javaweb:1.0 /root/run.sh
稍作解释:
-d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
--name:表示容器名称,用一个有意义的名称命名即可。
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
5、查看日志
转载于:https://blog.51cto.com/xiaok007/1908419