还原 GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
yum update-------------yum包更新到最新
安装需要的软件包,yum-ytil提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker,出现输入界面都按y
yum install -y docker-ce
查看docker版本,验证是否验证成功
docker -v
镜像(Image):Docker镜像,就是相当于一个root文件系统,比如官方镜像Ubuntu:16.04就是包含完整一套Ubuuntu1.04最小系统的文件系统
容器(Container):镜像和容器就相当有类和对象,镜像是静态的定义,容器是镜像运行的实体,容器可以被创建、启动、停止、删除、暂停等
仓库(Respository) :仓库可以看成一个代码控制中心,用来保存镜像文件
配置docker镜像加速器
登录自己的阿里云账号
找到镜像加速器
直接复制自己账号下的操作文档中配置镜像加速器代码
Docker命令
启动docker
systemctl start docker
查看状态
systemctl status docker
停止运行
systemctl stop docker
重启docker
systemctl restart docker
开机就启动docker
systemctl enable docker
查看镜像
docker images
搜索镜像
docker search redis
拉取镜像
docker pull redis
删除镜像
docker rmi 镜像id
Docker容器相关命令
容器有镜像运行说出来的实例
查看容器
查看正在运行的容器:docker ps
查看所有包括已经关闭的容器:docker ps -a
创建容器 -it:-i并开伪终端,-t一直运行着
docker run -it --name=c2 centos:7 /bin/bash
docker run -id --name=c3 centos:7 后台创建,exit退出,docker不会关闭
进入容器
进入docker:docker exec -it c3 /bin/bash
启动容器
docker start c2
停止容器
docker stop c2
删除容器
docker rm c1
查看容器信息
docker inspect c2
数据卷感念及作用
概念:
数据卷是宿主机中的一个目录或文件
当容器目录和数据目录绑定后,对方的修改会立即同步
一个数据卷可以被多个容器同时挂载
一个容器可以挂多个数据卷
docker run -it --name=c4 -v /root/data2 -v/root/data3 centos:7 /bin/bash
作用:
容器数据持久化
外部和容器间接通信
容器之间数据交换
配置数据卷
创建容器时使用-v参数设置数据卷
docker run … -v 宿主机目录(文件):容器内目录(文件)…
如:【data就为数据卷】
docker run -it --name=c3 -v /root/data:/root/data centos:7
配置数据卷容器
创建数据卷容器
docker run -it --name=c3 -v /root/data:/root/data centos:7
docker run -it --name=c3 -v /volume centos:7 /bin/bash
docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash
c1和c2挂载在c3容器中
在Docker容器中部署Mysql,并通过外部mysql客户端操作mysql server
实现步骤:
搜索mysql镜像
拉取mysql镜像
创建容器
操作容器中的mysql
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6
Docker镜像原理:
容器转为镜像
docker commit 容器id 镜像名称:版本号
docker save -o 压缩分层文件名称 镜像名称:版本号
docker load -i 压缩文件名称
Dockerfile概念及作用
Dockerfile关键字
将一个springboot项目发布到docker容器中(写dockerfile)
将项目的jar包传到linux的系统中
定义父镜像:FROM java:8
定义作者信息:MAINTAINER itheima <个人信息>
将jar包添加到容器:ADD springboot.jar app.jar
定义容器启动执行命令:CMDjar -jar app.jar
通过dockerfile构建镜像:docker build-f dockerfile文件路径 - t 镜像名称:版本
案例: