Docker常用命令总结二

一、commit命令

docker commit 命令可以提交镜像形成一个新的副本,用法如下

docker commit -m ="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]`

测试:

#启动一个默认的tomcat镜像(10)
#发现这个默认的tomcat镜像中没有webapps应用
#(官方的镜像默认webapps中没有文件),
#拷贝基本文件进去(cp -r webapps.dist/* webapps)

#commit修改过的版本
docker commit -a="XXXXX" -m="add base webapps" 85c829cb45d2 tomcat10:1.0

二、docker容器卷

可以实现容器的持久化和同步操作,使容器间的数据实现共享。

方式一:使用命令挂载 -v

docker run -it -v /home/test:/home centos /bin/bash

查看挂载情况

docker inspect  容器id

在这里插入图片描述

docker volume --参数(卷相关命名)

匿名挂载:
即不指定挂载到主机上的路径,只指定容器内部需要挂载的目录。

docker run -d -P --name nginx01 -v /ect/ngnix ngnix

具名挂载: 给挂载位置添加名字,即具名挂载。

docker run -d -P --name nginx02 -v juming-ngnix:/etc/ngnix ngnix

所有的docker容器内的卷,在没有指定目录的情况下都在
/var/lib/docker/volumes/xxx/_dat

-v 容器内路径  #匿名挂载
-v 卷名:容器内路径  #具名挂载
-v /宿主机路径::容器内路径  #指定路径挂载
-v 容器内路径:ro  rw 改变读写权限
ro read-only  只读   容器内部将无法操作
rw read-write  可读可写

多个容器之间通过数据卷容器挂载实现数据共享示例如下:

docker run -it --name docker02 --volumes-from docker01

三、Dockerfile

dockerfile是用来构建docker镜像文件的

构建步骤:
1、 编写一个dockerfile文件
2、 docker build 构建成为一个镜像
3、 docker run 运行一个镜像
4、 docker push 发布镜像(DockerHub、阿里云镜像仓库)

简单的dockerfile文件中的内容如下 指令(大写) 参数

FROM centos
VOLUME["volume01","volume02"]

CMD echo"----------end-----------"
CMD /bin/bash

dockerfile基本指令:

FROM 指定基础镜像,
MAINTAINER  指定维护者信息(镜像是谁写的  姓名+邮箱)
RUN  镜像构建时需要运行的命令
ADD  COPY文件,会自动解压(添加内容,每添加一次就是一层)
WORKDIR 镜像的工作目录
VOLUME 挂载的目录
EXPOSE  指定对外端口
CMD   指定容器启动的时候要运行的命令(只有最后一个会生效,可被替换)
ENTRYPOINT   指定容器启动的时候要运行的命令(可以追加命令)
ONBUILD  当构建一个被继承DockerFile这个时候就会运行ONBUILD的指令
COPY  类型ADD命令,将我们的文件拷贝到镜像中
ENV  构建的时候设置环境变量

docker history 镜像id  可以查看镜像的历史信息

CMD 命令与 ENTRYPOINT 的区别
CMD会被新输入的命令替换,ENTRYPOINT会追加新输入的命令。

测试制作自己的镜像-tomcat

  1. 准备镜像文件tomcat压缩包,jdk压缩包
  2. Dockerfile的编写
  3. 构建镜像

dockerfile如下

FROM centos
MAINTAINET chenfeng<672235206@qq.com>

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u11-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.57.tar.gz /usr/local/

RUN yum -y install vim

ENV MYPATH /usr/local
WORK $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.57
ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.57
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-8.5.57/bin/startup.sh && tail -f /url/local/apache-tomcat-8.5.57/bin/logs/ca
talina.out

构建镜像

注意最后一个点不能忘记

docker build -t cftomcat .
  1. 启动镜像
  2. 在本地挂载目录下发布项目
  3. 发布镜像到远程仓库

镜像发布

  1. 发布到DockerHub
  2. 登录DockerHub
  3. docker login -u -p
  4. docker push 发布镜像
    (发布到阿里云服务器上详见阿里操作文档)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值