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<[email protected]>

#复制并解压

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

 

猜你喜欢

转载自www.cnblogs.com/A-lin-1039/p/12077412.html