Docker基础知识

文章目录

  • Docker

Docker

一次构建,处处运行,类似于JVM

虚拟机是软件+硬件(需要Hypervisors实现硬件资源虚拟化):

  • 资源占用大
  • 启动慢(虚拟机是分钟级,Docker是秒级)
  • 冗余步骤多

sha256的哈希码

:tag 表示版本标签

开发/运维(DevOps)

docker采用分层文件结构UnionFS(联合文件系统),因为存在镜像依赖,方便后期共享资源,数据持久化和容器继承

dockerfile是用来构建Docker镜像的构建文件,由一系列命令和参数构成的脚本,拥有自身的一套保留字指令

FORM
# 指出当前镜像基于什么,例如scratch就是docker中所有镜像的Base镜像(父镜像)
MAINTAINER
# 作者信息
RUN
# 构建镜像过程中所需要运行的命令
EXPOSE
# 指定容器对外暴露出的端口号
WORKDIR
# 默认登录后的操作目录(落脚点),pwd显示的目录地址
ENV
# 用来设置环境变量
COPY
# 拷贝文件
ADD
# 拷贝+处理并解压缩宿主机中的url或tar包
VOLUME
# 指定容器数据卷
CMD
# 指定容器启动时要运行的命令,可以有多个,但只有最后一个生效,会被docker run之后的参数替换
ENTRYPOINT
# 指定容器启动时要运行的命令,docker run之后的参数追加
ONBUILD
# 类似于触发器,父镜像被子镜像继承后触发相应动作
  • 编写dockerfile后重新构建生成自定义的镜像命令
docker build -f /dockerfile地址 -t tylt6688/xxx:1.0 .
  • 下载镜像
docker pull xxx 
  • 运行当前名称的镜像,本地优先
docker run
args --name="xxx"  为容器指定别名
     -it    以交互模式运行容器并j分配一个伪输入终端
     -d     以守护进程方式后台运行容器
     -p 8888:8080 指定(外部:内部)端口映射
     -P 端口随机分配,可使用ps命令查看具体外部端口
     -v /宿主机绝对地址:/容器内相对地址
  • 查看镜像生成的容器以及信息
docker ps
args  -a
	  -n 3 查看最近几个
  • 验证docker版本号
docker version 
  • 安装docker当前信息
docker info    
  • docker帮助命令
docker --help
  • 列出本地镜像
docker images
args  -a
	  -q 显示镜像id
  • 查询某个镜像
docker search xxx
  • 点赞数超过30的镜像
docker search -s 30 xxx
  • 删除镜像,删除多个镜像中间加空格
docker rmi xxx
args  -f 强制删除
  • 启动容器
docker start xxx
  • 重启容器
docker restart xxx
  • 停止容器
docker stop xxx
  • 强制关闭容器
docker kill xxx
  • 删除已停止的容器
docker rm xxx
  • 进入指定容器命令行
docker exec -it xxx /bin/bash
  • 对当前容器修改后重新打包镜像
docker commit -m="备注内容" -a="作者" containerid tylt6688/container:1.0
  • 以 Json 串的形式描述整个容器
docker inspect
  • 进入容器内部
docker attach xxx
  • 查看镜像构建历史
docker history xxx
  • 针对某个容器执行某些命令
docker exec xxx java -version

你可能感兴趣的:(Docker,1024程序员节,容器,docker)