本篇参考自哔哩哔哩尚硅谷官网 Docker 教程
CentOS 仅发行版本中的内核支持 Docker
uname 用于查看当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。
Docker 镜像【image】就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。
容器与镜像的关系类似于面向对象编程中的对象与类
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
Docker 利用容器【Container】独立运行的一个或一组应用。容器是用镜像创建的运行实例。
它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看做是一个简易版的 Linux 环境【包括 root用户权限、进程空间、用户空间和网络空间等】和运行在其中的应用程序
容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。
仓库【Repository】是集中存放镜像文件的场所。
仓库【Repository】和仓库注册服务器 Registry 是有区别的,仓库注册服务器上往往存放着多个仓库,每个仓库又包含了多个镜像,每个镜像有不同的标签 tag。
仓库分为公开仓库 Public 和 私有仓库 Private 两种形式。
最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等。
yum install -y epel-release
yum install -y docker-io
// 安装后的配置文件
/etc/sysconfig/docker
// 启动Docker后台服务
service docker start
docker version 验证
https://docs.docker.com/install/linux/docker-ce/centos/
进入本地 Linux 中
编辑 vim /etc/sysconfig/docker
将获取的自己账户下的阿里云加速地址配置进此配置文件中
other_args="--registry-mirror=https://你自己的账号加速信息.mirror.aliyuncs.com"
service docker restart
docker run hello-world
docker version
docker info
docker --help
docker images
OPTIONS 说明:
docker search 【OPTIONS】 镜像名称
此命令作用相当于从Docker官方网站上面搜索镜像
OPTIONS说明:
此命令用于下载镜像
docker pull 镜像名称【:TAG】
此命令用于删除镜像
// 删除单个镜像
docker rmi 镜像名称
// 强制删除单个镜像
docker rmi -f 镜像名称
// 强制删除多个镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG ...
// 强制删除全部镜像
docker rmi -f $(docker images -qa)
docker pull centos
docker run [OPTIONS] image [Command][ARG...]
OPTIONS说明(常用):有些是一个减号,有些是两个减号
–name=“容器新名字”:为容器指定一个名称
-d:后台运行容器,并返回容器 ID,也即启动守护式容器
-i:以交互模式运行容器,通常与 -t 同时使用
-t:为容器重新分配一个伪终端,通常与 -i 同时使用
-P:随机端口映射
-p:指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
3. 列出当前所有正在运行的容器
docker ps [OPTIONS]
OPTIONS说明【常用】:
-a:列出当前所有正在运行的容器+历史上运行过的
-l:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号
–no-trunc:不截断输出
4. 退出容器
两种方式退出:
docker start 容器ID或者容器名
docker restart 容器ID或者容器名
docker stop 容器ID或者容器名
docker kill 容器ID或者容器名
// 删除单个容器
docker rm 容器ID
// 一次性删除多个容器
docker rm -f $(docker ps -aq)
docker ps -aq | xargs docker rm
docker run -d 容器名
docker logs -f -t --tail 容器ID
-t:是加入时间戳
-f:跟随最新的日志打印
–tail 数字显示最后多少条
docker top 容器ID
docker inspect 容器ID
docker exec -it 容器ID bashShell
// 列出 Docker 中的 centos 虚拟机文件夹 tmp 列表
【特点,不会进入虚拟机中】
docker exec -t 容器ID ls -l /tmp
// 直接进入 Docker 容器中的 centos 终端中
docker exec -t 容器ID /bin/bash
重新进入 docker attach 容器ID
上述二者区别:
docker cp 容器ID:容器内路径 目的主机路径
Docker官网