前言
这个系列是对我学习docker的一个总结,先从各种服务的搭建开始,直接带大家实战入门。其实docker本身是运维技能,后端同学只需要了解即可。我这个系列也不会对docker太过深入,点到为止。
docker
百度介绍:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
容器这个词其实就完全概括了docker,但什么是容器呢。我举几个例子,jvm、安卓模拟器、虚拟机…大概应该明白了吧。你可以直接想象成一个虚拟机,但是它是非常厉害的虚拟机,完全充分利用了机器的性能,并且将一个linux服务器,当成几个服务器来使用,并且相互完全隔离(沙箱)。
壮大契机
光是这样看,同学们肯定会疑惑这也不是很厉害,但是随着目前微服务的发展,多个服务部署已经非常常见了,部署一个项目需要部署多个微服务,而各个服务器之间可能参数环境都会不一样,出现问题定位也非常麻烦。即使交由专业运维,这也是非常耗时耗力的。所以docker的出现就如jvm一样,统一了服务器的环境,我们所有的服务都只部署到同个版本的docker中即可。再配合上Jenkins,就可以完全实现自动化部署更新环境。做后端的只需要做一件事情,就是提交代码,运维同学的工作量也骤减,是不是想想就会觉的很舒服。
相关概念:镜像和容器
镜像这个词其实也很好理解,就是一个大的通用的备份模板。学习java的同学可以理解为一个class,而容器就是new出来的一个实体对象。
安装
这边我推荐直接阅读微笑大佬的博客:
https://blog.51cto.com/ityouknow/2083688,这篇文章写的很详细。
我这边提炼一下:
通过yum安装
yum install docker
采用CentOS 7中支持的新式 systemd 语法,启动 docker 服务,并将其设置为开机启动:
systemctl start docker.service
systemctl enable docker.service
检查docker版本
docker version
Docker 中国加速器
修改系统中docker对应的配置文件即可,如下:
vi /etc/docker/daemon.json
#添加后
{
“registry-mirrors”: [“https://registry.docker-cn.com”],
“live-restore”: true
}
常见命令
拉取docker镜像
docker pull image_name
删除镜像 -f 强制
docker rmi image_name
查看当前有哪些容器正在运行
docker ps
查看所有容器
docker ps -a
启动、停止、重启容器命令:
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id
删除容器(停止之后)
docker rm container_name/container_id
强制删除容器
docker rm -f container_name/container_id
进入容器
docker exec -it container_name/container_id bash