镜像操作
1、搜索镜像
[root@localhost ~]# docker search tomcat
2、拉取镜像
[root@localhost ~]# docker pull tomcat
3、根据镜像启动容器(不加版本后默认为latest)
docker run --name mytomcat -d tomcat:latest
4、docker ps
查看运行中的容器
5、 停止运行中的容器
docker stop 容器的id
6、查看所有的容器
docker ps -a
7、启动容器
docker start 容器id
8、删除一个容器
docker rm 容器id
9、启动一个做了端口映射的tomcat
[root@localhost ~]# docker run -d -p 8888:8080 tomcat
-d:后台运行
-p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
10、为了演示简单关闭了linux的防火墙
service firewalld status ;查看防火墙状态
service firewalld stop:关闭防火墙
11、查看容器的日志
docker logs container-name/container-id
启动tomcat镜像后主机无法访问
1.修改容器
进入tomcat容器中
[root@centos7 ~]# docker exec -it 29d44d545b43 /bin/bash
查看目录webapps是否有内容,无则讲webapps.dist更名为webapps替换原来的文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pjAh0yX7-1620971190469)(docker-imgs/tomcatlibs.png)]
更换webapp文件
root@29d44d545b43:/usr/local/tomcat# mv webapps webapps2
root@29d44d545b43:/usr/local/tomcat# mv webapps.dist webapps
此种方式仅仅为容器的修改,当镜像再次启动时依然会有原来的问题。建议下面第二种直接修改本地镜像。
2.修改镜像
1.如果还处于容器内既当前目录还是在tomcat镜像生成的容器目录下,可以使用:ctrl+p+q不退出容器的方式返回到宿主机目录下
2.使用docker commit命令将修改后的容器生成新的镜像
3.docker commit命令详解:
作用:将运行着的容器映射成新的镜像
格式: docker commit -a='作者-这个随意写' -m='‘修改内容--随意写' 容器名称或者ID 新生成镜像的名称
例子: docker commit -a='谁修改了我的bug(既作者信息)' -m='将修改后的容器映射成新的镜像(既修改内容,随意写)' tomcat mytomcat
4.运行新的镜像,访问tomcat首页,发现不会再出现404错误,以后每次创建tomcat容器时,使用我们自己生成的镜像即可(它跟阿里云拉下来的进行并没什么差别,只是保存了我们之前对容器做的修改)