Docker入门
Docker是什么
是由GO语言
写的程序运行的“容器
”(Linux containers, LXCs),它是完整的一套容器管理系统
容器就相当于一个虚拟机
它提供了一组命令,让用户更加方便直接地使用容器技术,而无需要过多关心底层内核技术
用途
目前有三大类
1.提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境
2.提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容
3.组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构
Docker虚拟化的好处
应用部署方便
服务器同等配置,性能更优,利用率更高
核心概念
镜像(类)
镜像其实就是一个文件,根镜像其实就是一个操作系统的镜像文件,比如:centos ubuntu
容器(对象)
容器是基于镜像存在的,可以把容器看作是一个简易版的linux坏境
仓库
Docker 仓库类似于代码仓库,是 Docker 集中存放镜像文件的场所。
CentOS7 安装docker(在线方式)
创建一个虚拟机
然后使用Xshell工具连接
1.内核版本信息检查
uname -r
2.卸载可能存在的旧版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
3.安装必要的系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
4.换源添加docker-ce安装源(linux本身的应用市场)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
默认开启的是stable稳定版仓库,如果想要安装test测试版或者是边缘版本可使用如下命令开启相关模式,关闭的话只需要将--enable参数换成--disable(可选)
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
5.更新yum缓存
yum makecache fast
6.安装docker-CE
安装前先检查docker-CE有哪些版本
yum list docker-ce --showduplicates | sort -r
安装命令
yum -y install docker-ce
安装特定版本的docker-CE
yum install docker-ce-<VERSION STRING>
7.验证docker是否安装成功
docker --version 或 docker info
8.docker服务的启停
1.查看docker服务的状态
systemctl status docker
2.启动docker服务
systemctl start docker
3.停止docker服务
systemctl stop docker
4.重启docker服务
systemctl restart docker
5.把docker服务做成随宿主机启动而启动
systemctl enable docker
设置自启动
systemctl daemon-reload
刷新配置使其生效
镜像的相关操作
配置加速器
1.登录阿里云,搜索【容器镜像服务】,复制镜像加速器地址
2.修改docker相关配置
1.在etc下创建docker文件夹,并在docker下创建daemon.json文件
vi /etc/docker/daemon.json
2.在daemon.json文件中添加内容
{
"registry-mirrors": ["刚刚在阿里云复制的镜像加速器的地址"]
}
3.重新加载配置
systemctl daemon-reload 刷新配置
4.重启docker
systemctl restart docker
搜索镜像
命令:
docker search 镜像名称
举例
docker search centos
下载镜像
命令
docker pull 镜像名
获取一个 centos 系统的基础镜像可以使用如下的命令
docker pull centos
如果没有给版本号,默认下载最新的
docker pull centos:版本号
查看镜像
命令:
docker images
删除镜像
命令:
docker rmi 镜像ID/镜像名称
举例
如果要带镜像名称的话要带版本号,如果不带的话默认删除最新版本
docker rmi 2ca708c1c9cc (ID)
(镜像名称:最新版本)
docker rmi centos:latest
(镜像名称:版本号)
docker rmi centos:版本号
容器的操作
查看所有容器
docker ps -a all:所有
创建容器
1. docker run -itd --name 容器名字 镜像名字:镜像版本 /bin/bash
2. docker run -itd --name 容器名字 镜像id /bin/bash
3. 简写:
docker run -itd --name 容器名字 镜像id
删除容器
docker rm 容器ID/容器名
删除的前提是这个容器是停止状态下,不然就会报如下错:
启停docker容器
docker start 容器ID/name
docker stop 容器ID或name
docker restart 容器ID或name
进入容器
docker exec -it 容器ID/容器NAME /bin/bash
简写:
docker exec -it 容器ID/容器NAME bash
这里进入容器的前提是此容器处于开启的状态
退出容器
exit