前言

  • Linux 发行,Centos 7版本以上
  • centos-extras 处于开启状态,默认是开启的,但是如果已禁用它,则需要 重新启用

    1、安装依赖环境

    1. yum -y install gcc gcc-c++
    卸载旧 Dockers
    如果之前装过旧的版本docker,请先卸载它们以及相关的依赖项
    1. sudo yum remove docker \
    2. docker-client \
    3. docker-client-latest \
    4. docker-common \
    5. docker-latest \
    6. docker-latest-logrotate \
    7. docker-logrotate \
    8. docker-engine

2、配置从存储库安装

  1. $ sudo yum install -y yum-utils
  2. $ sudo yum-config-manager \
  3. --add-repo \
  4. https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  5. $ sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
  6. # 官网repo存储库
  7. # sudo yum-config-manager \
  8. # --add-repo \
  9. # https://download.docker.com/linux/centos/docker-ce.repo

3、开始安装

  1. # 安装最新版
  2. sudo yum install docker-ce docker-ce-cli containerd.io --allowerasing
  3. # 安装指定版本
  4. yum list docker-ce --showduplicates | sort -r
  5. # 语法:sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
  6. # 例如:yum install docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io
  7. # 如果报错加在后面加 --allowerasing

此时 Docker已安装但尚未启动。系统自动创建了 docker 组,但没有用户添加到该组,docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字归用户所有root,其他用户只能使用sudo, Docker 守护程序始终以root用户身份运行。具体参考:https://docs.docker.com/engine/install/linux-postinstall/

举例:希望 lisi 普通用户 运行 docker ,将用户加入 docker 组即可

  1. sudo usermod -aG docker 你的用户名

检查安装

执行 docker --version 检查 docker 的版本

4、启动 docker

执行 systemctl start docker 即可启动,及其相关操作如,停止:stop docker ,重启: restart docker

开启自启

启动 docker 后可以把 docker 加入到系统的开机自启动项,执行 systemctl enable docker
image.png

到此,docker 已经安装成功


5、拉取镜像

以上准备就绪后,接下来拉取 hello-world 镜像来运行看效果,,hello-world 是官方提供的一个示例镜像,如果需要拉取更多的镜像,请到 docker 官方仓库 搜索找寻

  1. docker pull hello-world

image.png

查看镜像列表

  1. docker images

image.png

6、运行镜像

  1. # 运行 hello-world 镜像,可以看到输出了介绍
  2. docker run hello-world

image.png

7、拉取其他镜像

例如我想拉取 ngnix 镜像,请先到 docker 官方仓库 搜索 nginx 镜像

拉取 nginx

image.png
点进详情页,复制右边的的拉取命令(默认拉取的是最新版本),也可以拉取你指定的 nginx 版本: **docker pull nginx:1.19**
image.png

拉取完成

image.png

查看镜像列表

image.png

运行 nginx

执行 docker run -d -p 80:80 nginx
-d :开启后台运行
80:80 :表示启动后将容器的 80 端口映射到 host8080 端口
image.png

查看容器列表

  1. docker ps

image.png

访问 nginx

image.png

停止nginx

通过命令:docker stop CONTAINER ID 来终结容器,通过 docker ps 先找到 nginx 对应的ID

  1. # 停止对应ID服务的容器
  2. docker stop CONTAINER ID