1.docker 安装tomcat
执行:docker search tomcat

2.拉取镜像
执行:docker pull tomcat
3.查看已拉取镜像
执行:docker images|grep tomcat

4.使用镜像
执行:docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat
其中,
--name tomcat :创建容器的名称为tomcat。
-p 8080:8080 :将容器的8080端口映射到主机的8080端口,格式为:主机(宿主)端口:容器端口。
-v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的test挂载到容器的/test。
-d: 后台运行容器,并返回容器ID;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
实例:
1)docker run --name mynginx -d nginx:latest
使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
2)docker run -P -d nginx:latest
使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
3)docker run -p 80:80 -v /data:/data -d nginx:latest
使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
4)docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
5)docker run -it nginx:latest /bin/bash
使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
启动、停止、重启容器
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器

docker kill -s KILL tomcat : 杀掉一个运行中的容器。-s :向容器发送一个信号

docker create --name tomcat1 tomcat:根据tomcat镜像创建一个新的容器,名称为tomcat1.

docker rm:删除容器
docker rm tender_swartz:删除容器名为tender_swartz的容器。

实例:
1)docker rm -f db01 db02
强制删除容器db01、db02
2)docker rm -l db
移除容器nginx01对容器db01的连接,连接名db
3)docker rm -v nginx01
删除容器nginx01,并删除容器挂载的数据卷
docker exec
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
实例:
1)docker exec -it mynginx /bin/sh /root/runoob.sh
在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本:
2)docker exec -it tomcat1 /bin/bash
在运行的tomcat1容器中开启一个交互模式的终端:

docker ps : 列出容器
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
实例:
1)docker ps
列出所有在运行的容器信息。
查看所有docker命令:
执行:docker

docker run --name tomcat -p 8080:8080 -v $PWD/test:/Users/finup/git/puhui-car-finance/puhui-car-server-restful/target/puhui-car-server-restful.war -d tomcat
docker exec it tomcat bash
docker cp /Users/finup/git/puhui-car-finance/puhui-car-server-restful/target/puhui-car-server-restful.war tomcat:/usr/local/tomcat/webapps
网友评论