前言
本文介绍了如何安装 Docker 和 Docker-compose。Docker 是一种开源容器化平台,可以帮助开发者将应用程序打包成容器并快速部署到其他系统。而 docker-compose 可以轻松地定义和运行多个 Docker 容器,并使它们相互协作。本文将提供安装 Docker 和 docker-compose 的详细步骤,包括 Docker 的依赖关系和配置,以及如何使用 Docker 命令和 docker-compose.yaml 文件来创建和运行 Docker 容器。通过本文的指导,您将了解 Docker 和 docker-compose 的基础知识,并能够在自己的系统上安装和使用它们。
安装Docker
移除旧的版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  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
更新yum缓存
sudo yum makecache fast
安装Docker-ce
sudo yum -y install docker-ce
启动Docker后台服务
sudo systemctl start docker
测试Docker安装结果
测试运行hello-world
docker run hello-world
其他Docker妙招
Docker开机启动
sudo systemctl enable docker
镜像加速
- 在/etc/docker/daemon.json中添加配置信息:
 
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
之后重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
查看配置
docker info
容器自启动
“--restart”
# 多个参数值选择
no  不自动重启容器. (默认值)
on-failure  容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10
unless-stopped  在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always  在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算
# 设置启动策略
docker run --restart always --name mynginx -d nginx
- 如果容器已经被创建,则可以修改容器启动策略
 
docker update --restart always mynginx
进入容器内部
docker exec -it  mynginx /bin/bash
安装Docker-compose
二进制包
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
查看版本
docker-compose --version
使用docker-compose运行容器
准备yaml文件,命名为docker-compose.yml
# yaml 配置实例
version: '3'
services:
  web:
    build: .
    ports:
   - "5000:5000"
启动
docker-compose up -d
如果文件不在此目录下或文件名不为docker-compose.yml,可以带-f,如
docker-compose up -f docker.yml -d