docker search tomcat
docker pull tomcat
输入指令(不加-d的话退出的话就会直接退出容器,因为没有加入到后台进程)
docker run -it --name=容器名称 镜像名称:标签 /bin/bash docker run -it --name=tomcat tomcat /bin/bash
然后进入到webapps中把目录复制保存,一会需要配置映射关系
大概就是下面这个目录
usr/local/tomcat/webapps
需要创建一个webapps目录
回到root
进入home目录
创建webapps目录
exit cd /home mkdir webapps
进入到webapps中并记录下路径
/home/webapps
写入一下命令进行挂载
docker run -id --name=tomcat -v /home/webapps:/usr/local/tomcat/webapps -p 8081:8080 tomcat
如果以前配置过出现端口占用的情况,
请删除以前的镜像
查看镜像 docker images 删除镜像 docker rmi IMAGE ID docker rmi 47c156f4d4e3
开放端口:
firewall-cmd --zone=public --add-port=8081/tcp --permanent
重新加载一下:
firewall-cmd --reload
firewall-cmd --list-ports
出现8081/tcp则说明开放成功
cd /home/webapps/ mkdir ROOT cd ROOT/ touch index.html
接着编辑这个index页面
vim index.html
随便写一个页面用于测试:
在地址栏输入ip地址和端口号进行访问
如果测试出现乱码请修改字符集
<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>从docker容器中启动tomcat</title> </head> <body> 看到这个页面说明docker的tomcat容器启动成功了 </body> </html>
登录守护式容器的方式:
如果你在root下要怎么进入到tomcat中呢?
docker exec -it 容器名称(或者容器id) /bin/bash docker exec -it tomcat /bin/bash
如果不知道名称的话可以进行查询
在root下进行查询
docker ps -a docker ps
curl指令可以在linux中访问页面(文字页面)
curl localhost:8081
测试tomcat多个端口运行
再启动一个tomcat
docker run -id --name=tomcat2 -v /home/webapps2:/usr/local/tomcat/webapps -p 8082:8080 tomcat
复制文件到指定的目录当中
docker cp 宿主机文件或目录 容器名称:容器目录 docker cp 容器名称:容器目录 需要copy到宿主机的文件或目录
docker cp index.html 36fd800b7b76:/usr/local/tomcat/webapps
查看是否copy成功
把容器中的文件copy到宿主机中
首先退出容器,然后执行下列的命令
docker cp /usr/local/tomcat/webapps /usr/
docker inspect 容器名称或id docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(或者容器ID)
例子:
docker inspect 36fd800b7b76 docker inspect --format='{{.NetworkSettings.IPAddress}}' 36fd800b7b76
删除容器
docker rm 容器名称(或容器id)
删除容器的时候他说我不能删除正在运行的容器,那我停止了不就完了吗.
停止容器 docker stop 50eb8e2af48a 再次执行删除命令 docker rm 50eb8e2af48a
查看是否删除成功
docker ps
发现已经没有该容器