一、Docker简介
- 什么是docker:
docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上, 也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口 - 什么是容器:一个容器就相当于一个虚拟机
- 为什么使用docker
1.提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境
2.提供弹性的云服务。因为 Docker容器可以随开随关,很适合动态扩容和缩容
3.组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构 - docker和虚拟机区别
隔离级别: docker进程级(隔离策略-CGroups) 虚拟机内核级(隔离策略-Hypervisor)
启动时间:docker容器-秒级, 虚拟机-分钟级
群集规模:docker容器-上万 虚拟机-上百
硬盘储存: docker容器-MB 虚拟机-GB
系统资源利用率:docker容器0-5% 虚拟机5-15%
高可用策略: 虚拟机-备份、容灾、迁移 docker-弹性、动态、负载
二、Docker安装方法一(推荐)
-
官网教程方法(一般默认安装到centos7系统上)
centos7官网教程安装方法: https://docs.docker.com/engine/install/centos/
ubanan官网教程安装方法:https://docs.docker.com/engine/install/ubuntu/查看内核版本(前提是必须是大于等于3.8):
uname -r
- 如果有之前安装过的先卸载干净
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
- 先设置一个yaml远程仓库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装docker引擎(有y按y)
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 启动docker
sudo systemctl start docker
- 试用docker命令(从远程仓库拉取并运行,先查看本地有没有hello-world,如果没有去远程仓库拉取并运行)
sudo docker run hello-world
或者使用(查看版本信息):
docker version
返回上图内容代表安装成功
三、docker加速
Tips:因为远程仓库在国外-安装包都在远程仓库,安装镜像比较慢,使用国内的镜像源替换
阿里云镜像地址及配置方法:阿里云加速地址教程
第一种方法:直接执行如下代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://c8ldi73s.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
完成后需要重启虚拟机
第二种方法
- 在/etc/docker目录下新建daemon.json文件,加入以下内容,保存
{"registry-mirrors": ["https://c8ldi73s.mirror.aliyuncs.com/", "https://registry.docker-cn.com", "http://fl36db2.m.daocloud.io", "https://docker.mirrors.ustc.edu.cn"]}
- 查看:docker info 结尾有下列内容代表镜像替换成功
- 重启服务使其生效
systemctl daemon-reload
systemctl restart docker
四、docker安装方式二
Docker 要求 CentOS 系统的内核版本高于 3.10
uname -r #查看系统版本
- 安装需要的软件包
yum-util 是yum仓库管理扩展工具包,即它提供了yum-config-manager功能
另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
- 添加yum源(二选一)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新yum缓存
yum makecache fast
- 查看仓库中docker的版本,选择对应的版本安装
列出并排序存储库中可用的版本。按版本号(从高到低)对结果进行排序
yum list docker-ce --showduplicates | sort -r
- 安装docker(二选一)
方式一:安装最新版–推荐
yum install -y docker-ce
方式二:安装指定版
命令为:yum install docker-ce-版本号(如我选:17.12.1.ce)
yum install docker-ce-17.12.1.ce
- 启动Docker
systemctl start docker
- 加入开机启动
systemctl enable docker
- 验证是否安装成功
注:有client和service两部分表示docker安装启动都成功了,命令中间不需要
docker version
Tips:如果之前有安装过docker的,可以卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
步骤总结:
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 makecache fast
sudo yum -y install docker-ce
sudo systemctl start docker
sudo systemctl enable docker
docker version
docker加速方法和上面一致
五、docker简单命令
启动并运行一个容器:docker run --name centos_test centos:7
停止容器:docker ps -a
删除容器:docker rm 容器ID或者容器名称
强制删除在运行的容器:docker rm -f 容器ID或者容器名称
查看容器日志:docker logs 容器ID或容器名称