一、docker简介
docker简单来说,就类似把代码和环境打包成一个盒子,从而使得运行的无差异化,在哪个操作系统等环境都一样运行。同时占用资源小,需要哪些就打包哪些,不会跟虚拟机一样不管是否需要都进行安装。同时运行速度快。
二、docker的安装
安装docker,直接按照如下命令敲就行,最后能看到docker的版本
三、docker的架构
docker的架构由三部分组成,客户端、主机、仓库。主机分为本地主机和远程主机;图中镜像和容器的关系差不多是类和对象实例;仓库里有很多的镜像,有官方的镜像也有私有的镜像。
四、配置镜像加速器
因为镜像的下载网址是在国外(docker hub https://hub.docker.com),比较慢,所以一般使用docker要配置镜像加速器。常见镜像加速器是USTC中科大镜像加速器、阿里云、网易云、腾讯云。
注意如图的地址,每个人不一样,登录到阿里云上自己搜就行。
以阿里云为例,结点就是:控制台/容器镜像服务/镜像加速器,然后就看到了地址。
这个位置,阿里云会把命令都写好,照着执行就行了,直接把这一串命令一起复制过来。
五、docker常用命令
启动docker服务
# systemctl start docker
查看docker服务的状态,绿色表示正常
# systemctl status docker
停止dokcer服务
# systemctl stop docker
重启docker服务
# systemctl restart docker
开机自启docker服务
# systemctl enable docker
查看本地有哪些镜像
# docker images
远程搜索源是否有某个仓库,以搜索redis为例
# docker search redis
向远程源下载redis3.2的镜像
# docker pull redis:3.2
可以到docker hub的网址上搜索现在有哪个版本的软件
删除某个镜像
# docker rmi 镜像ID(IMAGE ID)/镜像名称和ID
清空本地镜像
# docker rmi `docker images -q`
创建容器,-i是长时间不关闭 -t是创建终端前台运行 和-t相反-d表示后台运行 --name是指定容器的名字 后边加镜像和版本 /bin/bash是打开类似一个shell脚本的东西
# docker run -it --name=c1 centos:7 /bin/bash
退出前台容器
# exit
查看当前正在运行的容器 加参数-a表示查看所有容器(包括运行的和没运行的)
# docker ps
进入后台运行的容器 后台运行的容器通过exit退出后 容器依旧会运行
# docker exec -it c2 /bin/bash
关闭/启动后台启动的容器 stop+容器名称
# docker stop c2
# docker start c2
删除某个容器
# docker rm c1
删除所有容器 注意开启状态的容器是不能被删除的
# docker rm `docker ps -aq`
查看某个容器的信息
# docker inspect c2
六、数据卷
数据卷是宿主机的一个目录或文件
当容器目录和数据卷目录绑定后,两者可以实现数据同步
一个数据卷可以被多个容器同时挂载
一个容器可以挂载多个数据卷
数据卷的作用:
1.容器数据持久化
2.外部机器和容器间数据交换的介质
3.容器之前数据数据交换的介质
对于多个容器进行数据传输时,可以使用数据卷容器