一)什么是docker
虚拟化技术:我们平时在本地装的虚拟机也是一种虚拟化技术,方便我们构建系统,那么像这种技术就叫虚拟化技术
docker:就是采用虚拟化技术,docker里面有很多“箱子”,这个“箱子”就相当于一个虚拟机linux,那么优点就很明显了,原本一台
linux可以部署一个服务,假如再开一台linux部署mysql,一个linux部署redis,一个linux部署我们web服务,那么这样的话资源利用率就很低,docker就很好的解决这个问题,只需要一个linux通过不同的“箱子”去部署不同的服务,也就是说一个“箱子”一个服务,这样资源利用率就很高了
二)cs架构程序
我们需要在linux上面装上docker,docker本身就是一个cs的一个程序,也就相当于像QQ之类的一个软件,我们一般通过命令行工具操作docker的,比如装"箱子"
三)镜像与容器
我们构建“箱子”依赖与镜像,而镜像是只读的,“箱子是可操作的”,流程:镜像库(本地(自己搭建))到远程镜像库(共有(docker公司的))的下载回来
四)docker的安装
sudo yum update(更新)
|
sudo yum install -y yum-utils device-mapper-persistent-data lvm2(驱动)
|
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里云)
|
sudo yum install docker-ce(安装)
docker -v(查看版本)
设置镜像源 编辑该文件 |
vi /etc/docker/daemon.json (没有docker文件夹就重启一下linux,没有daemon.json文件就创建) { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } |
五)相关命令
镜像相关的:
5.1docker images (查看镜像)
REPOSITORY:镜像名称
TAG:镜像标签
IMAGE ID:镜像ID
CREATED:镜像的创建日期(不是获取该镜像的日期)
SIZE:镜像大小
这些镜像都是存储在Docker宿主机的/var/lib/docker目录下
5.2 docker search 镜像名称 (搜索镜像)
NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
5.3 docker pull 镜像名称 (拉取镜像)
5.4 docker rmi 镜像ID(删除镜像)
如果你要nginx服务,就得先下载相应的nginx镜像
容器相关
5.1 docker ps 查看运行的“箱子”
5.2 docker ps -a 查看全部“箱子”
5.3 docker ps -l 查看最后运行的“箱子”
5.4 创建与启动容器
docker run -it --name=容器名称 镜像名称:标签 /bin/bash (交互式,创建完直接进入“箱子”,exit退出”箱子“)
docker run -di --name=容器名称 镜像名称:标签 (守护式,直接建完就算了)
docker stop 容器名称(或者容器ID) (停止”箱子“)
docker start 容器名称(或者容器ID) (开启”箱子“)
5.5 文件复制
docker cp 需要拷贝的文件或目录 容器名称:容器目录
docker cp 容器名称:容器目录 需要拷贝的文件或目录
5.6 删除容器
docker rm 容器名称(容器ID)