标签:docker
容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。既然镜像已经下载到本地,那么如何才能启动容器呢?
只需使用以下命令即可启动容器:
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
配置
让环境变量生效:source /etc/profile
验证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
docker run -d -p 58080:8080 --name javaweb huangyong/javaweb:1.0 /root/run.sh
稍作解释:
-d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
--name:表示容器名称,用一个有意义的名称命名即可。
本文出自 “梦想还是要有的” 博客,转载请与作者联系!
标签:docker
原文地址:http://xiaok007.blog.51cto.com/7176836/1908419