我们安装的容器,比如Tomcat容器,需要暴露端口供外界访问,否则该容器将毫无意义。
比如我们运行一个Tomcat容器,暴露端口为8082,命令如下:
docker run --name tomcat2 -d -p 8082:8080 tomcat
Docker安装的位置
/var/lib/docker
查看该端口映射配置的配置文件,703d…为安装的容器的id
vi /var/lib/docker/containers/703d88ff16c417533563e7d39594904bd3ce98d0ada1c314e1c68fe380aca072/hostconfig.json
docker中安装的容器其实都是镜像的实例,比如Tomcat,docker中的Tomcat容器和一般的Tomcat本质上是一样的。
我们可以登录到Tomcat客户端
docker exec -it tomcat2 bash
查看我们所在的目录,会发现我们在/usr/local/tomcat
pwd
其实这个目录是个虚拟目录,在linux系统目录下并不存在,但在Tomcat客户端可以对该目录进行操作,进入/usr/local/tomcat会发现和一般的Tomcat目录大致是一样的。在linux系统目录下有Tomcat容器对应的文件目录。
查看tomcat容器详细信息,找到MergedDir信息
docker inspect tomcat2
进入到MergeDir目录下查看目录,会发现有一个usr目录,tomcat就存放在该目录下
cd /var/lib/docker/overlay2/2c7454990f4e27dabaf2596af9995d15cd640a301b876aacdbd9dabe54f8a257/merged/usr/local/tomcat
查看tomcat目录结构