jck28 - 小柒 - Docker安装,容器管理和镜像管理命令

一,CentOs 上安装 Docker

  • Docker 支持多种操作系统平台,Windows, Linux, macOS
  • 注意:只推荐在 Linux 上使用。

1.1 安装命令

  • 切换管理员权限 :su root

  • 安装 Docker 依赖 :yum install -y yum-utils device-mapper-persistent-data lvm2

  • 配置依赖下载源 :
    yum-config-manager --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  • 安装 docker : yum makecache fast && yum -y install docker-ce

  • 安装完成后查看docker的版本号:docker --version

  • 如果yum命令安装依赖报错,则修改仓库配置文件

    • centos7修改repo文件:cd /etc/yum.repos.d/进入目录,修改CentOS-Base.repo文件为阿里镜像源。
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
下载阿里源的repo文件: 
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

清除缓存并生成新的缓存:
yum clean all
yum makecache

更新系统:
yum update

1.2 启动命令

  • 启动:systemctl start docker
  • 重启:systemctl restart docker
  • 开机自启动:systemctl enable docker
  • 查看运行状态:systemctl status docker

1.3 加速器配置

  • 登录阿里云镜像: 容器镜像服务 (aliyun.com)
  • 添加 registry-mirrors : vim /etc/docker/daemon.json
    • 在daemon.json文件加上加速源地址(这里使用阿里云的镜像地址):
{
  "registry-mirrors": ["https://1z3y5a8a.mirror.aliyuncs.com"]
}
  • 当镜像拉取过慢导致超时,可以改用下记镜像加速配置:
{
  "registry-mirrors": ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"]
}
  • 重载 docker 的配置文件 : systemctl daemon-reload

  • 重启 Docker : systemctl restart docker

  • 查看配置 : docker info

  • 验证镜像拉取正常

二,Docker 容器管理命令

  • docker run -d --name {your_name} {image_name}

    • 新建一个容器运行,并命名为your_name,image_name为容器名称
    • -d 表示容器会在后台运行
  • docker ps -s -a {查看当前所有容器}

    • docker ps :查看当前所有在运行状态的容器
    • -a :表示当前不在运行状态的容器也会展示

    CONTAINER ID:容器的唯一ID
    IMAGE:镜像启动地址
    COMMAND:当前容器的启动命令
    CRETAED:容器的创建时间
    STATUS:当前容器的状态
    NAMES:容器的名称

  • docker stop {container_name} : 停止容器,container_name可以是容器名称或者是容器ID

  • docker kill (container_name) :杀死容器

  • docker rm -f {container_name} :删除容器

  • docker logs -f {容器名称} : 查看容器日志

  • docker inspect {容器名称} :查看容器的元数据

  • docker exec -it {容器名称} bash :进入容器

    • exec 的意思是在容器中运行一个命令。 如果是 bash 并且指定了 -it 就会打开容器的 shell 交互

三,Docker 镜像管理命令

  • docker pull {image_name} :拉取镜像到本地

  • docker push {image_name} :推送镜像到镜像仓库

  • docker images :查看当前机器的所有镜像

  • docker rmi {image_name} :删除当前机器的一个镜像(如果镜像在运行则不可删)

  • docker tag {source_images_name:tag your_image_name:tag} :为一个镜像打 tag

  • docker save busybox > busybox.tar :把镜像保存到tar文件指定目录

  • docker load < busybox.tar.gz :在另一台docker服务器进入指定目录,把tar文件的镜像下载到目标服务器
    image