centos7安装docker

(docker:一个包括软件及其运行环境的容器,防止代码“水土不服”)

  1. 使用root权限更新yum包

    1
    2
    3
    注意
    yum -y update:升级所有包同时也升级软件和系统内核;
    yum -y upgrade:只升级所有包,不升级软件和系统内核
  2. 卸载旧版本(如果之前安装过的话)

    1
    yum remove docker  docker-common docker-selinux docker-engine
  3. 安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖

    1
    yum install -y yum-utils device-mapper-persistent-data lvm2
  4. 设置 yum 源

    1
    2
    3
    yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
  5. 安装docker

    1
    yum install -y docker-ce 

    -y表示安装时所有选项默认Yes

配置docker镜像加速器

阿里云镜像加速器:进入阿里云官网,进入控制台,搜索容器镜像服务,找到镜像加速器。

Docker命令

Docker服务相关命令

  • 启动docker服务

    1
    systemctl start docker
  • 停止docker服务

    1
    systemctl stop docker
  • 重启docker服务

    1
    systemctl restart docker
  • 查看docker服务状态

    1
    2
    systemctl status docker

  • 开机启动docker服务

    1
    systemctl enable docker

Docker镜像相关命令

(菜鸟教程有命令大全)

  • 查看镜像

    1
    docker images
  • 搜索镜像

    1
    docker search 镜像名
  • 拉取镜像

    1
    docker pull 镜像名:版本号 (没有版本号则下载latest)
  • 删除镜像

    1
    docker rmi 镜像ID 或 镜像名:版本号

    镜像ID通过docker image查看,rmi 即remove image

Docker容器相关命令

  • 查看容器

    1
    2
    docker ps //显示正在运行的容器
    docker ps -a //显示历史容器
  • 创建容器

    1
    docker run -it --name=容器名 选择的镜像:TAG(即版本) /bin/bash

    i:保持容器一直运行

    t: 给容器分配一个终端,用于接收命令

    d:后台创建容器,不会立即进入,需要通过命令进入容器,并且exit退出后不会关闭容器

  • 进入容器

    1
    2
    3
    4
    5
      docker exec -it 容器名 /bin/bash

    + 启动容器
    ```javascript
    docker start 容器名
  • 停止容器

    1
    docker stop 容器名
  • 删除容器

    1
    docker rm 容器名或容器ID

    运行中的容器无法删除

  • 查看容器信息

    1
    docker inspect

Docker容器的数据卷

数据卷概念和作用

  1. 概念
  • 数据卷是宿主机的一个目录或文件
  • 当容器目录和数据卷目录绑定后,对方的修改会立即同步到双方(可以实现Docker容器和外部机器的文件交换以及容器之间的数据交互)
  • 一个数据卷可以被多个容器同时挂载
  1. 作用
  • 容器数据持久化
  • 外部机器和容器间的间接通信
  • 容器之间数据交换

配置数据卷

  • 创建启动容器时,使用-v参数设置数据卷

    1
    docker run ... -v 宿主机目录(文件):容器内目录(文件) ...

    注意事项:

    1. 目录必须是绝对路径
    2. 如果目录不存在,会自动创建
    3. 可以挂载多个数据卷

Docker私有仓库

私有仓库搭建

  1. 拉取私有仓库镜像

    1
    docker pull registry
  2. 启动私有仓库容器

    1
    docker run -id --name=registry -p 5000:5000 registry
  3. 打开浏览器,输入地址http://私有仓库服务器ip:5000/v2/_catalog,看到{“repositories“:[]}表示私有仓库搭建成功

  4. 修改daemon.json

    1
    vim /etc/docker/daemon.json

    在上述文件中添加一个key,保存退出。次步用于让docker信任私有仓库地址,注意将私有仓库服务器ip修改为自己私有仓库服务器真实ip

    {“insecure-registries”:[“私有仓库服务器ip:5000”]}

  5. 重启docker服务

    1
    2
    systemctl restart docker
    docker start registry

将镜像上传至私有仓库

1
2
3
4
# 1.标记镜像为私有仓库的镜像
docker tag centos:7 私有仓库IP:5000/centos:7
# 2.上传标记的镜像
docker push 私有仓库服务器IP:5000/centos:7

从私有仓库拉取镜像

1
2
1.拉取镜像
docker pull 私有仓库服务器ip:5000/centos:7