Docker简介
Docker理念
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。
 Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。
Docker 容器与虚拟机的区别
下载Docker
Docker安装
前提说明
CentOS Docker 安装
查看自己的内核
 uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。 
 
cat /etc/redhat-release
uname -r 
安装步骤
CentOS7安装Docker
Install Docker Engine on CentOS | Docker Docs
确定你是CentOS7及以上版本
 cat /etc/redhat-release
卸载旧版本

yum安装gcc相关
CentOS7能上外网
yum -y install gcc
yum -y install gcc-c++ 
安装需要的软件包
执行命令
yum install -y yum-utils
 
设置stable镜像仓库
推荐
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
更新yum软件包索引
yum makecache fast
 
安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io
 
启动docker
systemctl start docker
 
测试
docker version
 
 
docker run hello-world
 
卸载
阿里云镜像加速
开放云原生应用-云原生(Cloud Native)-云原生介绍 - 阿里云
 步骤:
 注册一个属于自己的阿里云账户(可复用淘宝账号)
获得加速器地址连接
 登陆阿里云开发者平台
 选择容器镜像服务



 粘贴脚本直接执行
 直接粘
 
或者分步骤都行
mkdir -p /etc/docker
vim  /etc/docker/daemon.json
  #阿里云
{
  "registry-mirrors": ["https://{自已的编码}.mirror.aliyuncs.com"]
} 
激活配置文件 重启服务器
systemctl daemon-reload
systemctl restart docker 
测试
docker run hello-world
 
Docker常用命令
帮助启动类命令
启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker
查看docker概要信息: docker info
查看docker总体帮助文档: docker --help
查看docker命令帮助文档: docker 具体命令 --help 
镜像命令
docker images
 
 
同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
 如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像 
查找镜像
docker search [OPTIONS] 镜像名字
OPTIONS说明:
--limit : 只列出N个镜像,默认25个
docker search --limit 5 redis
docker pull 某个XXX镜像名字 
下载镜像
·docker pull 镜像名字[:TAG]
·docker pull 镜像名字
·没有TAG就是最新版
·等价于
·docker pull 镜像名字:latest
docker pull ubuntu 

删除镜像
docker rmi 某个XXX镜像名字ID
·docker rmi  -f 镜像ID
·删除多个
·docker rmi -f 镜像名1:TAG 镜像名2:TAG
·删除全部
docker rmi -f $(docker images -qa) 
 
容器命令
#使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it centos /bin/bash 
 
 
 
 
·docker rm -f $(docker ps -a -q)
·docker ps -a -q | xargs docker rm 
重要
 ·有镜像才能创建容器,这是根本前提(下载一个Redis6.0.8镜像演示)
 ·启动守护式容器(后台服务器)
关系 前后对比 - 指向 启动交互式容器(前台命令行)
 ·在大部分的场景下,我们希望 docker 的服务是在后台运行的, 我们可以过 -d 指定容器的后台运行模式。
 ·docker run -d 容器名 
使用镜像centos:latest以后台模式启动一个容器
docker run -d centos
 
发布阿里云
Docker镜像commit操作案例
docker容器内执行上述两条命令:
apt-get update
apt-get -y install vim 
·启动我们的新镜像并和原来的对比
1 官网是默认下载的Ubuntu没有vim命令
 2 我们自己commit构建的镜像,新增加了vim功能,可以成功使用。
本地镜像发布到阿里云
将本地镜像推送到阿里云
·本地镜像素材原型

·阿里云开发者平台
·https://promotion.aliyun.com
·点击个人实例
 

·选择镜像仓库
 
·进入管理界面获得脚本
 ·将镜像推送到阿里云
 ·将镜像推送到阿里云registry
 ·管理界面脚本
 ·脚本实例

·设置访问凭证,输入三行命令
 

将阿里云上的镜像下载到本地
·将本地上传的镜像删除
docker rmi -f 0940de0a64e8
 
 
·从Registry中拉取镜像

·查看拉取的镜像
启动容器:docker run -it  0940de0a64e8 /bin/bash
 
 

 
 








