Docker安装
ubuntu环境
sudo apt-get install docker.io
Dockerfile
1.JDK
如jdk-8u261-linux-x64.tar.gz
2.Tomcat
如apache-tomcat-9.0.2.tar.gz
3. WAR包
如Tise.war
4. Dockerfile
如下
FROM centos:7.2.1511
MAINTAINER Antonio
ADD ./jdk-8u261-linux-x64.tar.gz /root
#会重命名
ADD ./apache-tomcat-9.0.2.tar.gz /root
COPY Tise.war /root/apache-tomcat-9.0.2/webapps/
ENV JAVA_HOME=/root/jdk1.8.0_261
ENV PATH=$JAVA_HOME/bin:$PATH
#CMD ["/tomcat/bin/catalina.sh", "run"]
ENTRYPOINT /root/apache-tomcat-9.0.2/bin/startup.sh && tail -F /root/apache-tomcat-9.0.2/logs/catalina.out
EXPOSE 8080
编译
把以上准备好的文件放到一个目录,如test,然后执行
sudo docker build -t tise:v1 -f Dockerfile .
运行
查看镜像
sudo docker images
运行
sudo docker run -it -p 8080:8080 镜像ID
访问项目
http://localhost:8080/Tise/
Docker常用命令
以下部分命令只列出常用参数
容器相关命令
#创建一个新的容器并运行一个命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
#连接到正在运行中的容器 CTRL-p CTRL-q退出
docker attach [OPTIONS] CONTAINER
#获取容器的日志
docker logs [OPTIONS] CONTAINER
-f : 跟踪日志输出
#在运行的容器中执行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
#获取容器/镜像的元数据。
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
#列出容器
docker ps [OPTIONS]
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
#删除一个或多个容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
-f :通过 SIGKILL 信号强制删除一个运行中的容器
镜像相关命令
#列出本地镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
--format :指定返回值的模板文件;
--no-trunc :显示完整的镜像信息;
-q :只显示镜像ID
#删除本地一个或多少镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
-f :强制删除;
--no-prune :不移除该镜像的过程镜像,默认移除;