使用docker制作CentOs+tomcat+jdk镜像

下载CentOs镜像

docker pull centos

docker images

启动CentOs镜像

docker run -d -i centos /bin/bash

通过docker ps命令查看

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                     NAMES
edba2dce7336        centos              "/bin/bash"         8 seconds ago       Up 8 seconds                                  keen_almeida

进入docker容器中操作

进入容器

docker attach edba2dce7336

做准备工作,安装vim,新建目录

yum install vim*
mkdir /home/zm

通过命令退出并停止容器

exit

备份操作过的镜像

docker commit -m "Added vim_lrzsz_zm" -a "Docker Newbee" edba2dce7336 centos_vim_lrzsz

其中: -m 来指定提交的说明信息,跟我们使用的版本控制工具一样; -a 可以指定更新的用户信息; 92896fb7e091 是用来创建镜像的容器的 ID; centos_vim_lrzsz是指定目标镜像的仓库名(centos_vim_lrzsz) 创建成功后会返回新镜像的 ID

通过命令查询镜像

docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
centos_vim_lrzsz                 latest              9ec5cc5c698e        2 hours ago         403MB

在服务器上面下载tomcat和jdk,复制到/home/zm目录下面

cd /root/download
wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz?AuthParam=1524377800_aabc1e4c003ea9896c39e37216e2bef0
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.30/bin/apache-tomcat-8.5.30.tar.gz

cp jdk-8u171-linux-x64.tar.gz\?AuthParam\=1524377800_aabc1e4c003ea9896c39e37216e2bef0 /home/zm
cp apache-tomcat-8.5.30.tar.gz /home/zm

启动centos容器,并且将主机的/home/zm目录挂载到容器内

docker run -i -t -v /home/zm:/home/zm centos_vim_lrzsz:latest /bin/bash

其中:

-i 表示以"交互模式"运行容器

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

-v 表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机绝对目录>:<容器绝对目录>

接着是"容器名:TAG"唯一即可

/bin/bash 即进入容器后的bash shell命令行对应-t

在容器中安装jdk和tomcat

[root@1962ce130729 /]# mkdir /opt/jdk
[root@1962ce130729 /]# mkdir /opt/tomcat
[root@1962ce130729 /]# cd /home/zm/
[root@1962ce130729 zm]# ls
apache-tomcat-8.5.30.tar.gz  jdk-8u171-linux-x64.tar.gz?AuthParam=1524377800_aabc1e4c003ea9896c39e37216e2bef0
[root@1962ce130729 zm]# tar -zxf jdk-8u171-linux-x64.tar.gz\?AuthParam\=1524377800_aabc1e4c003ea9896c39e37216e2bef0
[root@1962ce130729 zm]# ls
apache-tomcat-8.5.30.tar.gz  jdk-8u171-linux-x64.tar.gz?AuthParam=1524377800_aabc1e4c003ea9896c39e37216e2bef0  jdk1.8.0_171
[root@1962ce130729 zm]# mv jdk1.8.0_171/ /opt/jdk/
[root@1962ce130729 zm]# tar -zxf apache-tomcat-8.5.30.tar.gz
[root@1962ce130729 zm]# mv apache-tomcat-8.5.30 /opt/tomcat/
vim /root/run.sh
#!/bin/bash

export JAVA_HOME=/opt/jdk/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH

sh /opt/tomcat/apache-tomcat-8.5.30/bin/catalina.sh run
修改脚本执行权限
[root@1962ce130729 zm]# chmod u+x /root/run.sh

相关操作后…exit,再次新建一个容器即可运行tomcat的容器

docker commit -m "Added jdk_tomcat" -a "Docker Newbee" 1962ce130729 centos_jdk_tomcat

运行centos_jdk_tomcat

docker run -d -p 58080:8080 --name test_centos_jdk_tomcat_1 centos_jdk_tomcat:latest /root/run.sh

访问tomcat的项目

访问-http://docker.zhangmin.com:58080/

猜你喜欢

转载自my.oschina.net/u/3337958/blog/1801281