一、Docker实践
该部分是对docker命令进行实际操作,从镜像拉取到最后容器运行的全过程;
1.镜像拉取–docker pull 镜像名:tag
当镜像名后不带tag时,默认拉取最新版本的镜像,拉取后可输入命令docker images 进行查看是否拉取以及镜像ID。
2.容器运行–docker run -d -p 主机端口:容器端口 镜像ID
- -d:后台运行,如果不加,会直接将tomcat的运行日志输出,无法在进行其他操作,若用ctrl+c退出,则容器也停止运行;
- -p:端口映射,冒号前面的是主机端口,后面的是该容器内部的端口,tomcat的默认端口就是8080,两个端口不必相同,仅需要保证没有被占用即可;
- 成功运行后可以输入命令docker ps进行查看容器。
3.进入容器中–docker exec -it containerId /bin/bash
由于tomcat镜像本身的问题,当前运行后去访问该页面,会报404错误,因此进入该容器中进行修改,这一步并不是运行容器的必要步骤,仅是为了对实践一下如何进入容器。
- 通过docker ps查看运行中的容器,可以查看到容器的容器Id,镜像Id,状态,端口号,容器名称,容器名称是可以在运行容器的时候进行设置的;
- 通过命令进入容器后会发现,容器内部其实就是一个简单版的linux操作系统,然后我们需要做的是将webapps.dist的名称改为webapps,而与之重名的那个文件夹也需要先改为其他的名称。
完成以上操作即可,然后输入exit退出容器,然后就可以去访问当前tomcat的页面,访问之前要确保防火墙相应的端口已经开放即可。
二、容器的生命周期
- docker run 和 docker create:docker create 只是创建容器,通过docker ps -a 命令查看容器状态时,状态是Created,而docker run在创建容器后会直接运行容器,状态为Up;
- docker pause:容器暂停运行,暂停运行也属于running的一个分支状态,因此可以使用docker ps 命令查看,而不需要加-a,查看容器状态为paused,若想恢复输入docker unpause containerId即可;
- docker kill 和 docker stop:这两者的区别在于docker kill 会直接杀死进程,而docker stop仅仅是让容器停止运行;
- docker restart:容器重启;
- docker rm:删除容器,若容器在运行中,则需要加-f进行强制删除,容器删除后就不存在了,因此没有图中的删除状态,仅是为了直观展示。
,则需要加-f进行强制删除,容器删除后就不存在了,因此没有图中的删除状态,仅是为了直观展示。