手把手带你学Docker:Docker的介绍和安装(一)
1 Docker的介绍
Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。
Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。
Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。
总体来说,Docker的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
Docker的思想来自于集装箱,集装箱解决了什么问题?
在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我们就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。docker就是类似的理念。
2 Docker的优点
- 解决了操作系统和软件运行环境的依赖
- 对于开发人员来说,再也不用担心不会部署开发环境
- 开发环境,测试环境和生产环境高度一致。
- 让用户体验产品新特性的又一种思路。
3 Docker的用途
Docker的主要用途,目前有三大类:
提供了一次性的环境:比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
提供弹性的云服务:因为Docker容器可以随开随关,很适合动态扩容和所容。
组建为服务架构:通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。
4 Docker的安装
1,安装一个CentOS7
[root@docker01 /]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
2,修改主机名为docker01
hostnamectl set-hostname docker01
3,配置yum源
#删除本地源
rm -fr /etc/yum.repos.d/local.repo
#下载阿里云源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#下载docker源
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
#将源文件中的地址替换为清华源
sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo
4,安装docker
yum install docker-ce -y
5,启动docker,并置为开机启动
# 启动docker
[root@docker01 /]# systemctl start docker.service
# 设置为开机自启
[root@docker01 /]# systemctl enable docker.service
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@docker01 /]# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
...........
6,查看docker版本
docker是一个cs架构: 通过docker version来查看
[root@docker01 /]# docker version
Client:
Version: 18.09.8
API version: 1.39
Go version: go1.10.8
Git commit: 0dd43dd87f
Built: Wed Jul 17 17:40:31 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.8
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 0dd43dd
Built: Wed Jul 17 17:10:42 2019
OS/Arch: linux/amd64
Experimental: false
小结
本篇文章讲述了Docker的介绍和安装,由于纯手打,难免会有纰漏,如果发现错误的地方,请第一时间告诉我,这将是我进步的一个很重要的环节。