Dokcer简介
- Docker 是一个开源的应用容器引擎, 让开发者可以打包其应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 服务器上, 也可以实现虚拟化, 容器是完全使用沙箱机制,相互之间不会有任何接口;
- 完整的 Docker 包括
- Dokcer Client 客户端
- Dokcer Daemon 守护进程
- Docker Image 镜像
- Docker Container 容器
Dokcer 功能特性
- 隔离环境 ( 系统, 网络, 文件系统 ) 与应用
- 解决依赖与版本问题
- 传统模式下, 多个不同环境或版本的项目需要部署在不同的服务器上, 部署与后期维护管理复杂繁琐;
- 使用 Docker, 通过多个不同版本或者环境的镜像, 可以同时运行在一台机器上互不干扰, 部署与后期维护简单方便;
- 易于分发, 开箱即用
- 镜像可以通过 导入, 导出, 上传到镜像仓库等多种方式进行使用操作;
- 在启动了 Docker 的系统上直接使用 docker run 即可启动镜像, 无需特别配置;
- 节点与容器快速扩容
- 容器扩容简单方便;
- 扩容节点只需要安装并启动 Docker 即可;
- 镜像制作简单便捷,管理方便.
- 镜像的灵魂 Dockerfile;
- 使用 Dockerfile 进行指令控制, FROM, MAINTAINER, LABEL, ENV, RUN 等;
- 基于 Linux 命令, 易于理解;
- 易于定制与修改;
Docker 应用场景
Docker 通常用于如下场景:
- 应用场景1: 多版本多种类系统与软件
- 应用场景2: 环境
- 应用场景3: 分发
安装环境
- 系统: CentOS 7.4 minimal
- 时区: Asia/Shanghai
- 分区:
- /boot XFS 500M
- swap 不使用
- / 剩余全部
- Docker 有 Windows 和 MacOS 版本, 但是为了更好的兼容, 我们选择 Linux 中运行 Docker;
- 使用 vMware虚拟机来安装和运行 CentOS 系统;
- 其它虚拟软件 VirtualBox, KVM , XEN 等等也可以
防火墙及安全机制
- 防火墙: 建议开启
- SeLinux: 建议开启
- 需要特别说明的是: 防火墙和 selinux 是系统与网络安全的重要保障,我们不要轻易去禁用或者停用它们,
- 后续会结合使用
- Docker
- 17.03 之后版本变为 Docker CE
- Docker CE
- 社区版, Community Edition
- Docker EE
- 企业版, Enterprise Edition
- 收费版本,强调安全性,提供一些高级特性及商业支持
Docker 标准版本安装
// 使用 yum 安装 docker yum -y install docker // 启动 docker 并设置为开机启动 systemctl start docker systemctl enable docke
Docker CE版本安装
// 首先确定没有 yum 安装的 docker, 存在的话先进行 卸载 ps -ef |grep docker && yum -y remove docker // 可以使用 yum 查看安装信息 yum history // 查看所有yum的操作 yum history info N // 表示查看yum操作的第N个详细信息 yum history undo N // 表示将第 N 个安装的所有包都卸载 // 安装相关依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 // 两种方法下载 docker-ce.repo yum-config-manager --add-repo=http://download.docker.com/linux/centos/docker-ce.repo || curl http://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo // 安装 docker-ce yum -y install docker-ce // 启动 docker 并设置开机启动 systemctl start docker systemctl enable docker // 查看docker版本号 docker version Client: Version: 18.09.6 API version: 1.39 Go version: go1.10.8 Git commit: 481bc77156 Built: Sat May 4 02:34:58 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 18.09.6 API version: 1.39 (minimum version 1.12) Go version: go1.10.8 Git commit: 481bc77 Built: Sat May 4 02:02:43 2019 OS/Arch: linux/amd64 Experimental: false
修改 Docker 运行目录
原因, 有时候服务器以及 云服务器 根目录的空间都不是很大, docker 默认占用的是 /var/lib/docker 目录, 我们改成我们想要设置的空间够大的目录;
// 创建指定的目录 mkdir /data/docker // 修改启动程序 vim /usr/lib/systemd/system/docker.service ... ... ExecStart=/usr/bin/dockerd \ --data-root /data/docker // 指定需要设置的目录; ... ... // reload配置 systemctl daemon-reload // 重启docker systemctl restart docker // 开启 selinux 机制的情况下, 进行以下修改 chcon -R -u system_u /data/docker chcon -R -t container_var_lib_t /data/docker chcon -R -t container_share_t /data/docker/overlay2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。