docker常用配置以及命令

1. Docker基本概念

docker常用配置以及命令

文章插图
1.1 什么是 docker hubDockHub是一个仓库https://hub.docker.com/
仓库是集中存放镜像文件的场所仓库分为公开仓库(Public)和私有仓库(Private)两种形式 。
  • docker拉取命令docker pull centos
  • docker 查看镜像docker images
1.2 什么是docker镜像?Docker镜像是一个特殊的文件系统 除了运行时所需要的程序,库 资源 配置等文件意外,还包含了一些运行时的准备的的一些配置参数(如匿名卷、环境变量、用户等).镜像不包含任何动态数据、其内容在构建之后也不会被改变 。
docker常用配置以及命令

文章插图
共享一个base镜像 但是base镜像不会被修改只会修改单个容器内这个用到了docker特性
docker常用配置以及命令

文章插图
每当一个镜像被创建 就会创建一个可写层在上方这个可写层又被称为容器层 容器层的下方统一叫镜像层
使用centos镜像创建一个容器
sudo docker run --name centos_test -it centos /bin/bash
1.3 什么是容器容器是一种轻量级 , 可移植,自包含的软件打包技术 ,是一种应用程序,可以在九乎任何地方以相同的方式运行 。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机 , 物理服务器或公有云主机上运行 。
那为什么需要容器 以及为什么被称为容器?
docker常用配置以及命令

文章插图
1.4 docker容器的优势容器的优势 ,对于开发人员来说,创建一次 , 可以在任何地方运行,对于运维人员来说,配置一次,可以运行所有应用
1.5 docker容器是如何工作的docker的核心组件包括:docker客户端,docker服务器 , docker镜像 , registry,docker容器
1.6 docker客户端在Linux系统下,Docker Client 和Docker daemon和容器直接运行在宿主机上 , 这意味着容器可直接使用宿主机端口资源,不需要在容器和宿主机之间映射端口 。
docker常用配置以及命令

文章插图
在Windows或Max X系统下,Docker服务运行在Linux虛拟机里,Dockerclient运行在宿主机下跟Docker服务通信 。,当运行容器里,它用的端口资源是虛拟机里的,必须跟宿主机上的端口映射 。
docker常用配置以及命令

文章插图
6.1.7 docker 服务Docker 服务是Docker最核心的后台进程,它负责响应来自Docker client的请求,然后将这些请求翻译成系统调用完成容器管理操作 。该进程会在后台启动一个API Server负责接收由Docker client发送的请求;接收到的请求将通过Docker 服务内部的一个路由分发调度 , 再由具体的西数来执行请求 。
2. docker 命令容器运行$ docker run -it centos /bin/shdocker 客户端使用docker命令来运行 run参数 表明客户端要运行一个新的容器.docker客户端要运行一个容器需要告诉 docker守护进程的最小参数是:
  1. 这个容器从哪个镜像中创建.这是centos,基础的centos镜像
  2. 在容器中要运行的命令,这里是/bin/bash 在容器中运行bash shell
那么运行这个命令在底层发生了什么?按照顺序
  1. 拉取镜像 检查是否存在 如果没有会在docker pub中下载.如果已存在 创建新的容器
  2. 创建新的容器,当docker 有了这个镜像之后,docker 会用他创建一个新的容器.
  3. 分配文件按系统 并且挂载一个可读写的曾,容器会在这个文件系统中创建.并且一个可读写的曾被添加到镜像中,
  4. 分配网络/桥接接口,创建一个运行容器与本地主机通信的网络接口.
  5. 设置一个ip地址:从池中寻找一个可用的ip并且附加到容器中
  6. 运行你指定的程序 运行该程序
  7. 铺货并且提供应用输出: 链接并且记录标准输出,输入和错误,让你可以看到你的程序如何运行的
查看所有运行 的容器docker ps -a停止 dockerdocker stop id
docker常用配置以及命令

文章插图
杀死进程【docker常用配置以及命令】docker kill id进入容器内部docker attach id
docker常用配置以及命令

文章插图
通过 docker exec -it + 短id 进入容器内部docker exec -it + 短id

推荐阅读