Docker

Posted xuyazhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker相关的知识,希望对你有一定的参考价值。

Docker

Docker是以容器技术为核心的一套应用的构建,分发,执行的体系和生态。

Docker的优点

  • 简化项目发布步骤
  • 不同项目环境相互独立
  • 不需要额外安装其他基础库
  • 兼容性好,跨平台
  • 方便迁移

Docker的目的

集装箱:变革了人类整个的生产流程体系,让货物全世界流通
Docker:变革了IT领域的软件交付方式,让IT之间的鸿沟消失

目标:简化部署流程,提高生产力

技术图片

  - Docker daemon(Docker进程)
  - Docker Client(客户端)  
  用户不直接操作Docker daemon,用户通过Docker client访问Docker,Docker client提供
  pull,build,run等操作命令。
  - Docker Images(镜像)
  Docker 镜像,就是一个只读的模板。
  - Docker Containers(容器)
  Docker 容器,是镜像的一个运行实例。
  - Docker Registry(远程镜像源)
    - 官网:docker hub   ---  https://hub.docker.com/
    - 国内镜像库参考:---https://www.cnblogs.com/jpfss/p/11277615.html

1.Centos7安装Docker

前提条件

Docker运行在CentOS7.6上,要求系统64位、系统内核版本为3.10及以上。

内核版本
  # 查看CentOS版本 
  cat /etc/redhat-release 
  # 主机和版本 
  uname -r
 # 1.下载工具
  sudo yum install -y yum-utils
  # 2.配置yum docker官网仓库
  sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  # 3.安装 等待
  sudo yum install docker-ce docker-ce-cli containerd.io 
  # 4.启动
  systemctl start 
  docker systemctl enable docker
  # 5. 测试
  docker version  # 查看版本
  docker info    # 查看运行信息
  docker run hello-world   # 运行测试镜像
  运行run之前,会自动检查本地是否有该容器,如果没有,自动pull远程镜像,build本地容器,再运行
  # 其他指令
  docker ps  # 查看所有正在运行的容器
  docker ps -a # 查看所有容器

技术图片
技术图片
技术图片

2.镜像

镜像介绍

镜像是Docker的三大核心概念之一。
Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认镜像仓库下
载(默认使用Docker Hub公共注册服务器中仓库),用户也可以通过配置,使用自定义的镜像仓库。
获取镜像
命令: docker pull 镜像名:版本
获取远程redis5.0镜像

  # 拉取远程镜像
  docker pull redis:5.0
  docker pull redis:latest  # 默认就是最后个版本
  # 删除镜像
  docker rmi 镜像名:版本 或 <镜像id>
  # 从库中查询镜像
  docker search 镜像名
  docker search python

3.容器Container

容器介绍

容器是Docker的另一个核心组件。

  # 操作指令
  # 创建
  docker create -p 对外开发端口:容器内部软件端口 --name 容器名 参考镜像名:版本
  docker create -p 16379:6379 --name redis01 redis:5.0
  # 查看多有容器
  docker ps -a
  # 查看正在运行容器
  docker ps
  # 运行容器
  docker start 容器名 或 容器id
  docker start redis01
  # 停止容器(两种)
  docker stop 容器名或容器id
  docker kill 容器名或容器id
  # 删除容器
  删除容器,命令格式: docker rm [OPTIONS] CONTAINER [CONTAINER...]
  删除正在运行的容器,添加 -f 参数

技术图片

通过redis客户端测试

Redis可视化管理工具(Redis Desktop Manager])
链接:https://pan.baidu.com/s/1sOiOm7bEALZKA0-GpkZ3_Q 密码:ruxk
技术图片
技术图片

创建并运行容器

上面通过docker create 创建了容器,然后通过docker start 来启动容器。
由于创建容器并且启动容器的操作非常频繁,docker client 提供了更加便捷的命令 docker run 一步
创建并且启动容器。
命令格式: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

创建并运行一个redis容器

技术图片
技术图片
技术图片

查看redis容器日志 docker logs -f redis

4.仓库

仓库介绍

仓库(Repository)是集中存放镜像的地方,仓库分为公开仓库和私有仓库两种形式。
最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。
Docker Hub:https://hub.docker.com/
在国内,阿里云和163也有提供公开仓库,用户也可以在本地网络内创建一个私有仓库。当用户创建了自
己的镜像之后就可以使用push命令将它上传到公有或私有仓库,这样其他人只需要从仓库上pull下来就
可以了。

推送redis镜像到阿里云

技术图片
技术图片
技术图片
























以上是关于Docker的主要内容,如果未能解决你的问题,请参考以下文章

markdown docker-compose片段

sh Docker片段

《Docker 源码分析》全球首发啦!

docker 部署 coredns(内部域名解析)

docker 部署 coredns(内部域名解析)

将 Docker 容器限制为单个 cpu 核心