Docker介绍及安装
docker产生背景
docker是云时代的产物,他的诞生是一个必然
云服务的运营模式
IaaS: 基础设施即服务:经营的是基础设施,比如阿里云服务器(只安装操
作系统)
PaaS:经营的是平台,比如 MySQL 开发平台(安装在 linux
里面现成的平台)、redis 开发平台。
SaaS:软件即服务,比如公司的 OA 系统(部署到远程服务
器中的 OA 软件)
Docker是什么
Docker 就是一种虚拟化容器技术。
通过 Docker 这种虚拟化容器技术,我们可以对物理机的资源进行更加合理有效
的利用,可以将一台物理机器虚拟化出很多个拥有完整操作系统,并且相互独立
的“虚拟计算机”。
Docker是作用
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
Docker是一种容器技术,解决软件跨环境迁移问题。
Docker安装
# 1、yum 包更新到最新
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v
Docker架构
镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
配置镜像加速器
# 创建文件夹
mkdir /etc/docker
cd /etc/docker
# 镜像地址文件 ,地址可自行查找开源
vim daemon.json
i
{
"registry-mirrors": ["http://hub-mirror.c.163.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
}
esc
:wq
#让配置文件生效
systemctl daemon-reload
systemctl restart docker
docker命令
对服务(daemon)的操作
# 启动docker服务
systemctl start docker
# 查看docker服务状态 --绿色 running
systemctl status docker
# 关闭docker服务
systemctl stop docker
# 查看docker服务状态 --灰色 dead
systemctl status docker
# 重启docker服务
systemctl restart docker
# 设置开机启动docker
systemctl enable docker
对镜像(image)操作
# 查看本地镜像
docker images
# 搜索镜像(redis)
docker search redis
# 下载/拉取镜像
docker pull redis #不指定,Using default tag: latest
# 下载指定版本号 一定是docker官方有的tag号
docker pull redis:5.0
# 删除镜像(通过标识号)
docker rmi 621ceef7494a
# 删除镜像(通过名称或版本)
docker pull redis:latest
# 查看所有镜像的标识号/id
docker images -q
# 删除所有的镜像
docker rmi `docker images -q`
对container操作
创建容器
容器的参数
交互式容器:创建容器并进入容器,但退出容器就会关闭
# 创建容器 (i 保持容器运行;-t:为容器重新分配一个伪输入终端 ;--name:为创建的容器命名 ;-it 创建的容器退出后就会关闭容器)
docker run -it --name c1 centos:7 /bin/bash
# 退出容器
exit
# 查看运行的容器
docker ps
# 查看所有容器
docker ps -a
守护式容器:创建容器不进入容器,持久化一直运行
# 创建容器 (i 保持容器运行;-d:以守护(后台)模式运行容器 ;--name:为创建的容器命名 ;持久化一直运行 )
docker run -id --name c2 centos:7
# 进入容器(进入后退出,容器不会关闭)
docker exec -it c2 /bin/bash
# 退出容器 ;退出后容器还是运行状态
exit
参数说明:
-i:保持容器运行。通常与 -t 同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭。
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,