docker容器中搭建tomcat服务

1、 下载jdktomcat源码安装包

2、 docker cp 容器名:要拷贝的文件在容器里面的路径    宿主机的相应路径

docker cp 要拷贝的文件路径   容器名:容器里面对应的路径

3、 把源码安装包拷到运行的容器里面进行安装配置(过程和linux系统一样即可不详述)

4、 编写运行脚本

编写一个运行脚本,当启动容器时,运行该脚本,启动 Tomcat

创建脚本:

# touch /root/run.sh

# vi /root/run.sh

然后,编辑脚本内容如下:

#!/bin/bash

export JAVA_HOME=/opt/jdk/

export PATH=$JAVA_HOME/bin:$PATH

sh /opt/tomcat/bin/startup.sh

sh /root/tail.sh

创建tail.sh脚本为了防止docker判断自己无事可干自杀

然后,编辑脚本内容如下:

# touch /root/tail.sh

# vi /root/tail.sh

#!/bin/bash

tail -f /opt/tomcat/logs/catalina.out

最后,为运行脚本添加执行权限:

# chmod u+x /root/run.sh

# chmod u+x /root/tail.sh

5、 退出容器 exit

此时,应该看不到任何正在运行的程序,因为刚才已经使用exit命令退出的容器,此时容器处于停止状态,可使用如下命令查看所有容器:

# docker ps -a

CONTAINER ID  IMAGE  COMMAND     CREATED         STATUS                  

03bebc3f546a  83ee   "/bin/bash" 13 minutes ago  Exited (0) 7 seconds ago

记住以上CONTAINER ID(容器 ID,随后将通过该容器,创建一个可运行 Tomcat 镜像。

6、 创建Tomcat镜像

使用以下命令,根据某个“容器 ID”来创建一个新的镜像

# docker   commit  03bebc3f546a    www:1

  78c88ec597e04812ec3b06b7749578bebcae3aa3d735b565ed25db6818d9d7f3

# docker images  可以看到刚刚创建的tomcat镜像

7、 启动Tomcat容器

首先,新建/root/webapps/ROOT目录,并在该目录下创建一个index.html文件,文件内容如下:

hahahh

正如上面所描述的那样,可以通过“镜像名”或“镜像 ID”来启动容器,与上次启动容器不同的是,现在不再进入容器的命令行,而是直接启动容器内部的 Tomcat 服务。此时,需要使用以下命令:

# docker run -d -p 58080:8080 -v /root/webapps/:/opt/tomcat/webapps/ --name ggg1 www:1 sh/root/run.sh

8、其中,相关参数包括:

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

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

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

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

9在浏览器中,输入宿主IP和端口号,即可访问Tomcat

10、停止Tomcat容器

# docker ps

  docker  stop 容器名字或者容器ID

11、移除容器

# docker ps -a

docker rm 容器id

12、移除镜像

# docker images

     dockerrmi IMAGE ID

13、进入后台运行的docker命令如下:

    docker exec -it 容器名字/bin/bash 或者 docker exec -it 容器id/bin/bash


你可能感兴趣的:(docker)