1.为什么使用docker?
我们的项目面临的环境:(1)开发环境 (2)测试环境 (3)线上环境
使用docker 技术, 来解决项目跨平台问题。
1.2 docker的概念
![](https://i-blog.csdnimg.cn/blog_migrate/3a95f8674dd5dceb336f395666e543c7.png)
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架构
- 镜像(Image):Docker镜像(Image),就相当于是一个root文件系统。比如官方镜像ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。每个容器间是相互隔离的。
- 镜像可以看成Java中的类,而容器可以看做是类的实例化对象。
- 一个类可以有多个对象,同理,一个镜像可以有多个容器。
比如:安装mysql ====》下载mysql的镜像【类】 ---》根据镜像可以创建XQ【对象】
1.5 配置镜像加速器
默认情况下,将来从docker hub(https://hub.docker.com/ ) 上下载docker镜像,太慢。一般都会配置镜像加速器;
USTC:中科大镜像加速器(https://docker.mirrors.ustc.edu.cn )
阿里云
腾讯云
1.6docker中常用的命令
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 镜像名称:版本号 如果没有使用版本号 默认为latest
2.查看本地的镜像
docker images
3.删除本地镜像
docker rmi 镜像id 或者镜像名称
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 或 名称