Docker 简单命令

Docker 引擎,底部由守护进程组成,是一个cs架构,docker server 会启动docker daemon;

守护进程(-d):运行的程序成为进程,守护正在运行的进程,用于监控一个程序,当发现挂掉之后,会自动重启

Rest api:

docker cli

container:容器

 

架构:

 镜像和容器

基于镜像启动容器,容器是镜像的实例,容器并不会影响镜像,每次创建都是一个新的容器

  • docker 操作镜像

  • 获取镜像:docker pull 
  • 查看镜像:docker images
  • 查看镜像体积:docker system df 
  • 删除镜像 : docker rmi 镜像名称或镜像id
  • 虚悬镜像:查看镜像 docker images 
  • 显示正在运行的容器:docker ps 
  • 显示所有容器,包括运行和没有运行的 : docker ps -a
  • <none> 为无效镜像,虚悬镜像
  • 删除虚悬镜像:docker image prune
  • 中间层镜像:docker images ls -a  查看所有的镜像
    •      中间层镜像是 镜像本身以来的其他镜像,只不过么有显示依赖镜像的名称,不能删除
    •      例如tomcat:  tomcat 镜像依赖于jar镜像,但是在显示镜像的时候,jar镜像的名称并没有显示jar,而是显示的<none> ,这样的镜像被称为中间层镜像,不能删除中间层镜像;

操作容器:

  •  启动容器:docker run  -p 8080(宿主机端口):8080(容器端口)
    • docker run -p 8080:8080 --name tomcatname -d tomcat
    •  dokcer运行 端口做映射, 启动一个名称叫做tomcatname 的容器,以tomcat 镜像
  •  停止容器:docker stop 容器名称或容器ip
  •  删除容器:docker rm 容器名称或容器id
  •  强制删除容器:docker rm -f 容器名称或id
  • 启动之前停止的容器:docker start  容器id
  • 删除停止的容器:docker rm 容器名称或id
  • 删除所有的停止的容器:  docker container prune
  • https: 默认的端口是443,ssl连接 
  • http:默认端口是80
  • 交互式进入容器内部:
  • docker exec -it  容器名称或id /bin/bash
  • /bin/bash ,使用shell执行命令

DockerFile 定制镜像  --- 生成一个镜像文件,然后再拿着生成的镜像文件,再去创建容器

使用Dockerfile 来写命令,就相当于在容器内部,可以操作磁盘上的文件,和容器内部的文件

Dockerfile 是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应该如何构建

在构建一个镜像的时候,可以基于一个现有的镜像进行构建

FROM : 基于镜像进行构建

RUN 执行命令

CODP 拷贝命令

构建Dockerfile 

docker build -t 生成的名称 .(点)  

. (点)

1:在当前目录中找到Dockerfile 文件
2:找到在Dockerfile 中使用的上下文路径
3:实际上是打包传递给docker server

  Sending build context to Docker daemon  3.072kB

将构建的文件打包传给Docker daemon docker的守护进程,所以需要吧所有的文件全部放到跟Dockerfile 同一级目录下才可以,在Dockerfile中,只能使用跟Dockerfile 在同一级目录下的文件,

会把所有的文件打包传递给Docker Server ,如果你再Docker Server 去找 宿主机上面存储的文件,是找不到的,所以只能把文件放到跟Dockerfile 同一级的目录下面才可以

FROM tomcat:latest

RUN cd /usr/local/tomcat
RUN mv webapps webapps2
RUn mv webapps.dist/ webapps
COPY index.jsp /usr/local/tomcat/webapps/ROOT

如果是文件夹

FROM tomcat:latest

RUN cd /usr/local/tomcat
RUN mv webapps webapps2
RUn mv webapps.dist/ webapps
COPY page/index.jsp /usr/local/tomcat/webapps/ROOT

Dockerfile 指令

FROM :继承一个镜像

RUN:

COPY:拷贝一个文件到目录

ADD:跟copy基本一致,但是自带解压功能,先将压缩文件复制到指定目录,之后再做解压,但是不推荐使用该功能

CMD:跟RUN有点相似,用来输入脚本,写shell脚本,

           比如说在安装完tomcat 需要启动tomcat,

           CMD ./startup.sh  启动tomcat

            限制条件:只给用一次,只允许用一次,如果多次出现CMD ,会以最后一次为准

EVN:指定环境变量,

expose:对外暴露端口,环境变量,在dockerfile 中设置环境变量,全局变量,在整个dockerfile中都可以使用

workdir:像cd ,可以进入目录,指定工作目录,和容器交互的时候,指定容器的初始目录

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值