1.1 为什么使用docker?
Docker 是世界领先的软件容器平台。
开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。
运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。
企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。
使用docker技术,来解决项目跨平台问题。
1.2 Docker的概念
1. Docker是世界领先的软件容器平台。
2. Docker使用Google公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及AUFS类的UnionFS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。 由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。Docker最初实现是基于LXC。
简单地说就是,docker是一种虚拟化技术的产品,属于一种“容器”。“容器”这个东西有点像虚拟机,但是有很大的不同。理解容器和虚拟机的区别是很重要的一点。下面做一下简单的对比区分。
一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。
1.3 安装docker软件
Docker可以运行在MAC、Windows、CentOS、UBUNTU等操作系统上,本课程基于CentOS7安装Docker。官网: https://www.docker.com
# 1、yum包更新到最新---因为现在的docker更新比较快,而现在我们使用的centos不是最新
yum update
#2、安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、设置yum源---从哪个网址下载docker软件
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#4、安装docker ,出现输入的界面都按y
yum install -y docker-ce
# 5、查看docker版本,验证是否验证成功
docker -v
1.4 docker架构
镜像(lmage) : Docker镜像(lmage),就相当于是—个root文件系统。比如官方镜像ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件系统。
容器(Container) :镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
比如: 安装mysql====>下载mysql的镜像 【类】 ---->根据镜像可以创XQ [对象]
1.5 配置镜像加速器
默认情况下,将来从docker hub (Docker)上下载docker镜像,太慢。一般都会配置镜像加速器:
USTC:中科大镜像加速器(https://docker.mirrors.ustc.edu.cn)
==阿里云==
网易云
腾讯云
1.6 docker中常用的命令
1.6.1 关于docker服务的命令
查看docker服务的状态: systemctl status docker
关闭docker服务: systemctl stop docker
启动docker服务: systemctl start docker
重启docker服务: systemctl restart docker
开启启动docker服务: systemctl enable docker
1.6.2 关于docker镜像的命令
1.拉取指定的镜像到本地
docker pull centos #拉取centos镜像 如果没有使用版本默认为latest
docker pull centos:7 # :7表示版本号
2.查看本地的镜像
docker images
3. 删除本地镜像
docker rmi imageID #根据镜像id删除镜像
docker rmi name:tag #根据名称版本号删除镜像
4. 搜索镜像----建议在镜像仓库搜索 www.hub.docker.com
docker search 镜像名称
1.6.3 关于docker容器相关的命令
1. 根据镜像创建容器: 第一种: 这种方式如果退出容器时,会关闭容器。
docker run -it --name=c1 centos:latest /bin/bash
2. 查看所有的容器
docker ps #查询正在运行的容器
docker ps -a # 查询所有的容器
3. 根据镜像创建容器
docker run -id --name=c2 centos:latest #根据镜像创建容器当不会进入容器内部
4. 进入指定容器内部 exit 该进入容器后再退出则不会关闭容器
docker exec -it c2 /bin/bash #c2:容器的名称
5. 关闭容器
docker stop 容器id或名称
6. 开启容器
docker start 容器id或名称
7. 删除容器---该容器必须是关闭状态
docker rm 容器id或名称