docker 环境 CentOS 8.1
拉取镜像
docker pull tomcat:jdk8-openjdk
docker pull tomcat:8.5.55-jdk8-openjdk
查看镜像
docker images
显示正在运行的容器:
[root@localhost HMK]# docker ps
显示所有容器,包括未运行的:
[root@localhost HMK]# docker ps -a
运行镜像
docker run -d --name tomcat_test -p 8088:8080 7254ff7719c0
docker run -d --name tomcat_test -v /etc/localtime:/etc/localtime -p 2080:8080 tomcat:latest
docker run -d --name tomcat_contract -p 8088:8080 -v /home/tomcat_contract/conf:/usr/local/tomcat/conf -v /home/tomcat_contract/webapps:/usr/local/tomcat/webapps -v /home/tomcat_contract/logs/:/usr/local/tomcat/logs -v /home/tomcat_contract/logsRoot/:/usr/local/tomcat/logsRoot 7254ff7719c0
–name 容器名称
-p 8088:8080 8088 是宿主机端口 8080是tomcat容器端口 8080映射到2080
tomcat:latest 镜像名称及版本
-v /etc/localtime:/etc/localtime 容器使用宿主机时间、时区
-v 挂载目录 /home/tomcat/conf 宿主机的配置目录,/usr/local/tomcat/conf 容器的目录
:前面是宿主机的目录,后面是容器里面的目录
-d:表示指定容器后台运行
8e4c7e070ba2 镜像id
进入容器
docker exec -it f8ca37b5df5d /bin/bash
当前目录还是在tomcat镜像生成的容器目录下,可以使用:ctrl+p+q不退出容器的方式返回到宿主机目录下
出容器
ctrl+p+q
使用:ctrl+p+q不退出容器的方式返回到宿主机目录下
重启容器
docker restart 容器ID
docker restart 31290cf1cc00
停止容器
docker stop 容器id
docker stop 31290cf1cc00
启动一个已经停止的容器实例
docker start 容器名称 或者 容器id tomcat_contract
docker start 31290cf1cc00
删除容器
可使用 -f 参数强制删除容器
docker rm 31290cf1cc00
查看所有的容器
docker ps -a
查看运行中的容器
docker ps
liunx 命令
重命名文件夹
mv webapps webapps2
mv webapps.dist/ webapps
使用docker commit命令将修改后的容器生成新的镜像
docker commit命令详解:
作用:将运行着的容器映射成新的镜像
格式: docker commit -a='作者-这个随意写' -m='‘修改内容--随意写' 容器名称或者ID 新生成镜像的名称
例子:
docker commit -a='lzhang2019' -m='修改主页404错误' e8a903b0d543 tomcat-8.5.55-jdk8-openjdk-dev:v0.1
导出images
保存镜像
docker save 命令 将镜像保存成一个文件。
docker save -o tomcat-8.5.55-jdk8-openjdk-dev-v0.1.tar tomcat-8.5.55-jdk8-openjdk-dev:v0.1
-o 输出文件名称
tomcat-8.5.55-jdk8-openjdk-dev:v0.1 镜像的名称和tag
2)我们还可以同时将多个 image 打包成一个文件,比如下面将镜像库中的 postgres 和 mongo 打包:
docker save -o images.tar postgres:9.6 mongo:3.4
载入镜像
使用 docker load 命令则可将这个镜像文件载入进来。
docker load < hangge_server.tar
从容器拷贝文件到宿主机
docker cp 容器名:容器中要拷贝的文件名及其路径 要拷贝到宿主机里面对应的路径
拷贝容器中 tomcat的conf目录 到 宿主机 的 home/tomcat 目录下
docker cp 827e39c506b1:/usr/local/tomcat/conf /home/tomcat_contract/
拷贝容器中 tomcat的webapps目录 到 宿主机 的 home/tomcat 目录下
docker cp 827e39c506b1:/usr/local/tomcat/webapps /home/tomcat_contract/
删除images
使用 docker load 命令则可将这个镜像文件载入进来。
docker rmi 6e07337dc2a2
错误问题:
1、Docker方式启动tomcat,访问首页出现404错误