Docker+DokcerFile 简单命令和简单镜像配置----Tomcat+jdk+centos7
Posted a-lin-1039
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker+DokcerFile 简单命令和简单镜像配置----Tomcat+jdk+centos7相关的知识,希望对你有一定的参考价值。
宿主机描述:
docker info (自身的描述)
docker --help
docker images(查看所有镜像)
docker images -a
docker images -q(显示镜像ID)
docker images --digests(镜像说明:备注)
docker images -- digests --no-trunc(查看完整ID)
docker rmi 镜像ID(删除镜像)
搜索:
docker search 镜像名
docker search -s (点赞数) 镜像名
下载:
docker pull 镜像名:标签名版本 (下载镜像)
删除镜像:
docker rmi 镜像ID (删除镜像)
docker rmi -f 镜像ID (删除单个)
docker rmi -f 1镜像ID 2镜像ID(删除多个)
docker rmi -f $(docker images -qa) (批量删除)
容器:
docker run -it --name 重新命名 镜像名
-i (运行容器)
-t(重新分配一个伪终端)
-d(后台运行)
docker ps ( 查看进程 容器)
-a (当前运行容器的和没运行的容器)
-l (查看上一个运行容器)
-n 数字 (输入数字几 就查看几个)
-q 只显示容器ID (一般用来 批处理操作 如批量删除:sudo docker rm $(sudo docker ps -a -q))
--------------------------------------------------------
查看容器日志:
docker logs -t -f --tail 数字 容器ID
--------------------------------------------------------
exit(退出容器)
ctrl+P+Q (后台运行)
docker start 容器ID(启动)
docker restart 容器ID(重启)
docker stop 容器ID(停止)
docker kill 容器ID(强制停止 )
docker rm 容器ID (删除容器)
--------------------------------------------------------
docker top 容器ID (查看容器的进程)
docker inspect 容器ID (查看看容器了内部配置,一般由JSON打印到控制台)
docker attach 容器ID(进入后台容器)
docker exec -it 容器ID /bin/bash(进入内部控制台:/bin/bash为默认落脚点)
------------------------------------------------
从容器内 拷贝数据:
docker cp 容器ID : /tmp/yum.log(容器资源 路径) /root(宿主机 存放路径)
文件删除:-
rm -rf 文件名
打包自己的镜像:
docker conmit -a ="作者" -m=“当前信息” 当前 运行容器ID 名称和版本
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dockerfile是用来构建Docker镜像的构建文件
保留字
FROM (SCRATCH,镜像源)
MAINTAINER(维护这的姓名和邮箱)
RUN(容器构建是需要运行的命令)
EXPOSE (当前容器对外暴露出的端口)
WORKDIR (指定在穿件容器后,终端默认登录的进来工作目录)
ENV(用来在构建镜像过程中设置环境变量) 如:ENV MY_PHAS /user/data
WORKDIR $MY_PHAS
ADD (将宿主机目录下的文件拷贝镜像且ADD命令会自动处理URL和解压tar压缩包)
COPY()
VOLUME(容器数据卷,用于数据报错和持久化工作)
CMD (指定一个容器启动时 要启动的命令)
实例:
from centos (数据源)
ENV mypath /tmp (配置环境变量应用比较多)
WORKDIR $mypath
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80 (暴露端口)
-----------实例结束---------------------------
CMD (覆盖)
ENTRYPOINT (追加)
ONBUILD (在父类中的 Dockerfile中写 在子类的FROM 写上父类的 镜像名)
ONBUILD RUN echo "father onbuild-------886"
容器数据卷:容器持久化,容器间数据共享
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it -v /宿主机绝对路径目录:容器内目录:or 镜像名 (待权限的)
DockerFile添加:
dockerfile 是镜像的描述文件 例子:(a.java-----a.class)
-------------------------------------------------------------------------------------------------------
根据镜像启动容器
docker rum --name 自己命名 -d(后台运行) 复制容器名和标签
5.docker run -d -p 8888:8080 tomcat
(-d 后台运行,-p 将主机端口映射到容器的一个端口 主机端口:容器内部端口)
6.查看防火墙转态
service firewalld status
service firewalld stop (关闭防火墙)
-----------------------------------------------自己配置centos7+tomcat+dockerfile的配置脚本------------------------------------------------------
#数据源
FROM centos
#作者信息
MAINTAINER LHN<lhn@qq.com>
#复制并解压
ADD jdk-8u60-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.30.tar.gz /usr/local/
#安装内部vim
RUN yum -y install vim
#容器落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#环境变量配置
ENV JAVA_HOME /usr/local/jdk1.8.0_60
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.30
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.30
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#暴露端口
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.30/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.30/bin/logs/catalina.sh
以上是关于Docker+DokcerFile 简单命令和简单镜像配置----Tomcat+jdk+centos7的主要内容,如果未能解决你的问题,请参考以下文章