什么是docker
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker的应用场景
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
Docker 的优点
Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。使用官方安装脚本自动安装
官方脚本
国内daocloud 脚本curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
curl -sSL https://get.daocloud.io/docker | sh
手动安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。安装所需的软件包
yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。yum install -y yum-utils device-mapper-persistent-data lvm2
设置 Docker 仓库
官方仓库,国内使用比较慢
阿里云镜像仓库yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
清华大学源镜像仓库yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
安装 Docker Engine-Community
我这边是学习环境,使用最新版本没什么问题,实际生产需要使用稳定版本,需要安装指定版本yum install docker-ce docker-ce-cli containerd.io
```bash
Total download size: 102 M
Installed size: 420 M
Is this ok [y/d/N]: Y
如果提示您接受 GPG 密钥,请选是
Retrieving key from https://mirrors.aliyun.com/docker-ce/linux/centos/gpg Importing GPG key xxxxxxxxxxx: Userid : “Docker Release (CE rpm) docker@docker.com“ Fingerprint: —— —— —— —— —— —— —— From : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg Is this ok [y/N]: Y Running transaction check Running transaction test Transaction test succeeded
Docker 安装完已经创建好 docker 用户组,但该用户组下没有用户。<br />**安装特定版本的 Docker Engine-Community,查看可用的版本列表**```bashyum list docker-ce --showduplicates | sort -ryum list docker-ce-cli --showduplicates | sort -r

CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
容器状态
- created(已创建)
- restarting(重启中)
- running 或 Up(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
启动docker服务
systemctl start docker
docker常用指令
docker ps -a ## 列举所有镜像docker exec -it xxx ## 进入容器控制台docker run xxz ## 运行一个镜像docker rm xxx ## 删除一个镜像docker logs xxx ## 容器日志docker stop xxx ## 停止容器docker pull xxx ## 拉镜像
