Docker基本概念

前言

Docker和Kubernetes是我最近在学习的内容,本来是去年的目标,由于工作比较忙,没有时间去学习,今年剩下的半年时间我会好好系统学习下相关的内容,最后在学习下Devops相关理念,希望最终能形成自己的一套思想;

Docker系列文章:

Docker基本组成

镜像(Image)

Docker镜像是一个特殊的文件系统,包含了程序运行时候所需要的资源和环境。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像就是模板,可以用来创建Docker容器,另外Docker提供了很简单的机制来创建镜像和更新现有的镜像,用户还可以直接从镜像仓库下载已经做好的镜像来直接使用。

容器(Container)

容器就是运行镜像的,镜像和容器的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体,容器可以被创建、启动、停止、删除、暂停等。每个容器都是互相隔离的,保证安全的平台,容器可以理解为简易版的Linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行再其中的应用程序。

仓库(Repository)

仓库就是存放镜像的地方,仓库中又包含了多个镜像,每个镜像有不同的标签,用来区分不同的镜像版本,仓库分为两种,公有和私有仓库,最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载,这里仓库的概念与Git类似,Registry可以理解为Github这样的托管服务。

三者关系如下:
Docker基本概念
  1. 基于镜像创建容器,也可以基于容器创建镜像;

  2. 从仓库拉取镜像,也可以将本地镜像推送到仓库;

Docker如何工作

Docker是一个Client-Server结构,Docker守护进程运行在主机上,客户端与Dcoker通过Socket访问,守护进程接收客户端的命令并且管理运行主机的容器,容器是一个运行环境,就是我们的集装箱;

Docker基本概念

Docker的基本命令

Docker基本概念
基础命令

docker info  获取docker系统配置的信息;
docker version 获取docker版本;
docker help  获取docker帮助文档;

镜像命令

docker images 查看镜像相关的信息:

  • -a 查看所有镜像;

  • -q 查看容器id;

docker search 搜索容器信息

  • -filter=STARS=3000 关注度大于300以上的;

docker pull 下载镜像,采用分层下载,采用联合文件系统,默认是新的版本的

  • dcoker pull mysql:5.7  dcoker pull 镜像名称:版本号(Tag);

docker rmi 删除镜像

  • docker rmi -f 镜像ID

  • docker rmi -f $(docker iamges -aq) 删除全部的镜像id

容器命令

docker run 是Docker中最为核心的一个命令,用于新建并启动容器

  • -name=”名称”  容器名称;

  • -d  使用后台交互的方式;

  • -it  使用交互方式,进入到容器内部;

  • -p  用于将容器的端口暴露给宿主机的端口,格式为:hostPort:containerPort ,通过端口的暴露,可以让外部主机能够访问容器内的应用;

  • -P  随机指定端口;

  • -c 用于给运行在容器中的所有进程分配 CPU 的 shares 值,这是一个相对权重,实际的处理速度与宿主机的 CPU 相关

  • -m 用于限制为容器中所有进程分配的内存总量,以 B、K、M、G 为单位;

docker ps 列出正在运行的容器

  • -a 列出当前正在运行的容器和历史运行过的容器;

  • -n=? 显示最近创建的容器;

  • -q 只显示容器的编号;

退出容器

  • exit 容器停止并退出;

  • Ctrl + P + Q 容器停止并退出;

删除容器

  • docker rm  容器id删除指定的容器,不能删除正在运行的容器;

  • docker ps -a -q | xargs docker rm 删除所有的容器;

启动和停止容器的操作

  • docker start 容器id         启动容器;

  • docker restart 容器id      重启容器;

  • docker stop 容器id         停止容器;

  • docker kill 容器ID           强杀容器;

docker logs 查看docker logs的日志

  • –details 显示日志详情;

  • -f  跟随日志输出显示;

  • –tail 从末尾开始显示指定行的数据;

  • -t 显示时间戳;

  • –since 开始时间;

  • –until 结束时间;

docker top 查看容器的进程信息

docker inspect 查看镜像的元数据

进入正在运行的容器

  • docker exec -it 容器id;

  • docker attach 容器Id;

容器拷贝文件到主机上

docker cp 容器Id 容器内路径 主机路径;

结束

欢迎大家点点关注,点点赞 !


原文始发于微信公众号(既然遇见不如同行):Docker基本概念

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/52386.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!