Docker的介绍、安装与常用命令

Docker的介绍、安装与常用命令

  • 一、介绍
  • 二、Docker安装
    • 1.检查系统环境
    • [2 安装gcc](#2 安装gcc)
    • [3 卸载旧版本docker](#3 卸载旧版本docker)
    • [4 安装软件包](#4 安装软件包)
    • [5 设置镜像仓库](#5 设置镜像仓库)
    • [6 更新yum 索引](#6 更新yum 索引)
    • [7 安装(ce版)](#7 安装(ce版))
    • [8 启动Docker](#8 启动Docker)
    • [9 阿里云镜像加速](#9 阿里云镜像加速)
    • [10 Docker卸载](#10 Docker卸载)
  • [三、 常用命令](#三、 常用命令)
    • [1 帮助命令](#1 帮助命令)
    • [2 镜像命令](#2 镜像命令)
      • [2.1 docker images](#2.1 docker images)
      • [2.2 docker rmi 镜像名称](#2.2 docker rmi 镜像名称)
    • [3 容器命令](#3 容器命令)
      • [3.1 创建并启动容器](#3.1 创建并启动容器)
      • [3.2 查看运行的容器](#3.2 查看运行的容器)
      • [3.3 退出容器命令](#3.3 退出容器命令)
      • [3.4 启动容器](#3.4 启动容器)
      • [3.5 重启容器](#3.5 重启容器)
      • [3.6 停止容器](#3.6 停止容器)
      • [3.7 删除容器](#3.7 删除容器)
    • [4 其他命令](#4 其他命令)
      • [4.1 守护模式容器](#4.1 守护模式容器)
      • [4.2 查看运行日志](#4.2 查看运行日志)
      • [4.3 查看容器进程](#4.3 查看容器进程)
      • [4.4 查看容器细节](#4.4 查看容器细节)
      • [4.5 进入正在运行的容器](#4.5 进入正在运行的容器)
      • [4.6 文件复制](#4.6 文件复制)
      • [4.7 查看容器详细信息](#4.7 查看容器详细信息)

一、介绍

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器完全使用沙盒机制,相互之间不会存在任何接口。几乎没有性能开销,可以很容易的在机器和数据中心运行。最重要的是,他们不依赖于任何语言、框架或者包装系统。

1.相关资源

官网:http://www.docker.com

仓库:http://hub.docker.com

2.安装环境

centOS 7 以上(不包含7.0),64位系统,内核3.10以上。

3.基本组成

  • 镜像(image)
  • 容器(container)
  • 仓库(repository)

二、Docker安装

1.检查系统环境

shell 复制代码
cat /etc/redhat-release

2 安装gcc

shell 复制代码
yum -y install gcc gcc-c++

3 卸载旧版本docker

shell 复制代码
yum -y remove docker docker-common docker-selinux docker-engine

4 安装软件包

shell 复制代码
yum install -y yum-utils device-mapper-persistent-data lvm2

5 设置镜像仓库

shell 复制代码
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6 更新yum 索引

shell 复制代码
yum makecache fast

7 安装(ce版)

ce是官方提供的免费版本

shell 复制代码
yum -y install docker-ce

8 启动Docker

shell 复制代码
systemctl start docker

9 阿里云镜像加速

默认访问的仓库实在国外所以访问速度是没办法保证的。为了更好的体验,我们可以配置阿里云镜像加速

  • 登录阿里云 -> 进入控制台 -> 产品与服务 -> 容器镜像服务 ->
  • 找到镜像工具 -> 镜像加速器 -> 选择操作系统

    上图配置命令为:
    1.创建docker文件夹
    2.创建daemon.json文件
    3.写入数据
    4.重新加载配置文件
    5.重启docker
  • 配置命令
    • 1.创建docker文件夹

      shell 复制代码
      sudo mkdir -p /etc/docker
    • 2.创建daemon.json文件

      shell 复制代码
      vim /etc/docker/daemon.json
    • 3.写入数据 -> Esc -> :wq 保存并退出

      shell 复制代码
      {
      	"registry-mirrors": ["https://j8img1md.mirror.aliyuncs.com"]
      }
    • 4.重新加载配置文件

      shell 复制代码
      sudo systemctl daemon-reload
    • 5.重启docker

      shell 复制代码
      sudo systemctl restart docker

10 Docker卸载

shell 复制代码
systemctl stop docker
yum -y remov docker-ce
rm -rf /var/lib/docker

三、 常用命令

1 帮助命令

命令 说明
docker version 查看docker的版本信息
docker info 查看docker的详细信息
docker --help docker的帮助命令,可以查看到相关的其他命令
  • 查看版本

    shell 复制代码
    docker version

2 镜像命令

命令 说明
docker images 列出本地镜像
docker search 镜像名称 从docker hub 上搜索镜像
docker pull 镜像名称 从docker hub 上下载镜像
docker rmi 镜像名称 删除本地镜像
docker run 镜像名称 运行本地镜像(如果本地没有会到远程仓库下载)

2.1 docker images

命令 说明
-a 列出本地所有镜像
-q 只显示镜像ID
--digests 显示镜像摘要
--no-trunc 显示完整的镜像信息

2.2 docker rmi 镜像名称

命令 说明
docker rmi -f 镜像名称 强制删除镜像
docker rmi -f 镜像名称1 镜像名称2 强制删除多个镜像
docker rmi -f $(docker images -qa) 删除全部镜像

-f 表示强制删除

3 容器命令

有镜像才能创建容器,下载一个镜像

shell 复制代码
docker pull centos

3.1 创建并启动容器

创建并启动过一个容器的命令

shell 复制代码
docker run [OPRIONS] IMAGE [COMMAND]

OPTIONS常用参数

命令 说明
--name "容器新名字":为容器指定一个名称
-d 后台运行容器并返回容器ID,也即启动守护式容器
-i 以交互模式运行容器,通常与-t同时使用
-t 为容器重新分配一个伪输入终端,通常与-i同时使用
-P: 随机端口映射
-p 指定端口映射,有以下4中格式:Ip:hostPort:containerPort;Ip::containerPort;hostPort:contalnerPort;contalnerPort

交互式的容器

shell 复制代码
docker run -it centos /bin/bash

执行命令后会直接进入到容器内

容器与宿主机对比(上边是宿主机,下边是容器)

3.2 查看运行的容器

我们要查看当前正在运行的容器有哪些,可以通过ps命令来查看(在宿主机中查看)

shell 复制代码
docker ps [OPTIONS]

OPTIONS可用参数

命令 说明
列出正在运行的容器
-a 列出当前所有正在运行的容器 + 历史上运行过的
-l 显示最近创建的容器
-n 显示最近n个创建的容器
-q 静默模式,只显示容器编号
--no-trunc 查看所有信息

3.3 退出容器命令

命令 说明
exit 容器停止并退出
ctrl+p+q(快捷键) 容器不停止,只退出

3.4 启动容器

shell 复制代码
docker start 容器ID或名称

3.5 重启容器

shell 复制代码
docker restart 容器ID或名称

3.6 停止容器

shell 复制代码
docker stop 容器ID或名称

还可以通过强制停止容器

shell 复制代码
docker kill 容器ID或名称

3.7 删除容器

有时容器使用过完就没有作用了,我们可以删除掉容器,使用rm命令

  • 删除一个容器

    shell 复制代码
    docker rm 容器ID
  • 删除多个容器

    shell 复制代码
    docker rm 容器ID 容器ID
  • 删除所有容器

    shell 复制代码
    docker rm -f $(docker ps -qa)

4 其他命令

4.1 守护模式容器

使用守护模式创建并启动一个容器

shell 复制代码
docker run -d 容器名称

使用以上命令创建并启动的容器,如果容器内没有程序在执行,会立即停止调,此时使用 docker ps 查看不到刚刚的创建的容器(因为容器已经停止了)

4.2 查看运行日志

shell 复制代码
docker logs -t -f --tail 3 容器ID

4.3 查看容器进程

在宿主机中使用top查看, 在docker中也是

shell 复制代码
docker top 容器ID

4.4 查看容器细节

shell 复制代码
docker inspect 容器ID

4.5 进入正在运行的容器

命令 说明
exec 在容器中打开新的终端,并且可以启动新的进程
attach 直接进入容器启动命令的终端,不会启动新的进程
  • exec 不进入容器,给容器发布命令,如在宿主机中打印容器目录:
shell 复制代码
docker exec -it 容器ID ls
  • attach 进入到容器内
shell 复制代码
docker attach 容器ID 

4.6 文件复制

我们有有时需要从容器中拷贝数据到宿主机中

shell 复制代码
docker cp 容器ID:容器内路径 宿主机路径
  • 验证步骤一、在容器中创建一个文件夹,在文件夹内创建一个文本,在文本内写入数据
  • 验证步骤二、在宿主机中使用复制命令并查看
  • 以上操作是:
    • 在宿主机创建文件夹mzw01,在mzw01中创建a.txt并写入'hello Docker'
    • 在宿主机中使用复制命令,将容器中mzw01文件夹复制到宿主机mzw02文件夹
    • 查看宿主机mzw02文件夹内容
  • 注意
    复制命令可以复制整个文件夹,也可以复制单个文件

4.7 查看容器详细信息

shell 复制代码
docker inspect 容器ID
相关推荐
苹果醋3几秒前
2020重新出发,MySql基础,MySql表数据操作
java·运维·spring boot·mysql·nginx
两张不够花2 分钟前
Jenkins 持续集成部署
运维·jenkins
码农土豆20 分钟前
PaddlePaddle飞桨Linux系统Docker版安装
linux·docker·paddlepaddle
Hacker_xingchen25 分钟前
天融信Linux系统安全问题
linux·运维·系统安全
丘狸尾26 分钟前
[cisco 模拟器] ftp服务器配置
android·运维·服务器
黑客老陈35 分钟前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss
ghostwritten1 小时前
Linux Swap: 深入解析 mkswap, mkfs.swap, 和 swapon
linux·运维·服务器
我是唐青枫1 小时前
Linux xargs 命令使用教程
linux·运维·服务器
gallonyin1 小时前
【监控】夜莺监控系统各环节资源压力分析
运维·服务器
未知陨落1 小时前
Linux常用命令
linux·运维·服务器