docker 介绍,安装,镜像操作, docker换源
# 什么是虚拟化 # 版本:开源了,大家用,17年以后,两种版本 docker-ce :免费版(公司用也是用ce) docker-ee:收费版 # Docker 的基础是 Linux 容器(LXC)等技术:进程,文件隔离,在lxc基础上用go语言做了封装,更好用,更简单 # 容器与虚拟机比较:看图说话 # Docker 组件: -客户端-服务器(C/S)架构程序(mysql,redis),Navicat/pymysql:统统称为mysql客户端,底层基于socket,自己定制的协议 -基于http协议,符合resful规范 # Docker镜像与容器 镜像:面向对象中的类,一堆文件:像当作容器的“源代码”。镜像体积很小,非常“便携”,易于分享、存储和更新 centos的镜像:只有几十个兆,就是一堆文件 容器:面向对象中的对象,镜像运行起来就是容器,当成操作系统,装软件,一个执行环境(当成操作系统) 注意:容器的运行是基于镜像的,如果把镜像删了,容器就无法运行 假设有一个centos的镜像---》跑成3个容器(当成操作系统)---》第一个容器装python;第二个容器装redis,第三个容器装mysql # 注册中心: -Registry(注册中心)---》咱么获取镜像的地方(搭建私服,公司自己用的镜像,网上没有,放在自己服务器上) # docker 保证了环境的统一 -原来在新机器上部署django项目:python环境(版本),django环境(版本) -python环境(版本),django环境(版本)环境已经在镜像内了,跑在不同的linux服务器上,我的环境是统一的 -开发测试环境跟上线环境完全一致
# centos上安装:centos需要在7.0以上 # windows/mac上自行解决(一般不用) # centos7 安装docker 1 安装依赖 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2 设置yum源为阿里云 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3 安装 sudo yum install docker-ce -y 4 docker 版本:装的最新版 docker -v Docker version 19.03.8, build afacb8b docker -v查看版本,如果是17年之前的,就是老版本,操作习惯不一样 5 启动docker服务端: systemctl start docker 启动 systemctl stop docker 停止 systemctl restart docker 重启
# 镜像当成是一个没有启动的操作系统 # redis镜像,mysql镜像,nginx镜像,django镜像,python镜像:linux+xx软件----》镜像跑起来--》容器:操作系统上运行着redis服务 # 查找镜像:https://hub.docker.com/ 官方网站 docker search helloworld # 等同于在官方网站搜索 docker search centos # 尽量下载是offical官方的,防止不明添加文件,后门 NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 5956 [OK] 是否是自动构建 # 获取镜像: 在官网Tags标签里可以看到对应的下载版本 docker pull centos # 拉取最新的:相当于docker pull centos:latest docker pull centos:centos7 # 拉取一个centos7 docker pull centos:centos6.7 docker pull centos:centos10 # 这个 没有,就报错 # 查看本地镜像 docker images # TAG版本 # 创建时间(传到Registry的时间) REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 470671670cac 3 months ago 237MB centos centos7 5e35e350aded 5 months ago 203MB # 删除本地镜像 docker rmi 470671670cac # 通过id号删除,可以少写,只要不重 docker rmi centos:centos7 # 通过名字删除 # docker rmi `docker images -q` # 反引号表示 内部执行的结果 相当于 docker rim 470671670cac 5e35e350aded
docker换源
# 将pull源进行更换 vi /etc/docker/daemon.json { "registry-mirrors":[ "https://kfwkfulq.mirror.aliyuncs.com", "https://2lqq34jg.mirror.aliyuncs.com", "https://pee6w651.mirror.aliyuncs.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ] } # 加载配置文件 systemctl daemon-reload # 重启docker的服务 systemctl restart docker
总结:
# docker 是什么,软件 架构 c/s http协议restful规范 # 17年3月 docker-ce docker-ee # 安装,启动 systemctl start docker (启动服务端) # 镜像和容器:一堆文件---》镜像运行就是容器---》当成一个操作系统 # docker search (网站上去查) # docker pull 镜像名字 # docker images 查看镜像 # docker rm 删除/多个镜像