Docker是基于Go语言实现的云开源项目。

目录

Docker概述

CentOS7安装Docker

卸载

Docker常用命令

容器命令

Docker概述

        Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及 其运行环境能够做到“一次镜像,处处运行”

        将应用打包成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统 上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了操作。

CentOS7安装Docker

确定版本

#确定Linux版本是CentOS7及以上版本(且当前为root用户)cat /etc/redhat-release#结果如下CentOS Linux release 7.9.2009 (Core)#小版本号不必一致

卸载旧版本

#若曾经安装过,则先卸载旧版本yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

yum安装gcc

#在执行以下步骤前,先确保centos可以连接外网#yum安装gcc相关yum -y install gccyum -y install gcc-c++

安装相关软件包

#安装需要的相关软件包yum install -y yum-utils

镜像加速

#设置stable镜像仓库(相当于国内镜像加速)yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo

更新yum索引

#更新yum软件包索引yum makecache fast

安装DOCKER CE

#安装DOCKER CEyum -y install docker-ce docker-ce-cli containerd.io
  • 安装过程

  • 安装结果

启动Docker

#启动dockersystemctl start docker

测试

#查看版本docker version

#运行 hello-world 样例测试docker run hello-world

卸载

  1. 停止服务
  2. 卸载docker及相关软件
  3. 删除残余文件
  4. 删除本地已存在的容器文件夹
#停止服务systemctl stop docker
#卸载docker及相关软件yum remove docker-ce docker-ce-cli containerd.io
#删除残余文件rm -rf /var/lib/docker
#删除本地已存在的容器文件夹rm -rf /var/lib/containerd

Docker常用命令

帮助启动类命令

启动docker: systemctl start docker停止docker: systemctl stop docker重启docker: systemctl restart docker查看docker状态: systemctl status docker开机启动: systemctl enable docker查看docker概要信息: docker info查看docker总体帮助文档: docker --help查看docker命令帮助文档: docker 具体命令 --help

镜像命令

列出本地主机上的镜像:

#docker images [options]:#列出现有的镜像docker images#-a :列出所有本地镜像,(含历史映像层);docker images -a#-q :只显示镜像ID(IMAGE ID)docker images -q#也可联动使用docker images -aq 或 docker images -qa

各个选项说明:

REPOSITORYTAGIMAGE IDCREATEDSIZE
表示镜像的仓库源镜像的标签版本号镜像ID镜像创建时间镜像大小

 PS:同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用REPOSITORY:TAG 来 定义不同的镜像。如果不指定的话,docker默认使用最新版本镜像,例如需要ubuntu,则会使用: ubuntu:latest镜像。

查找所需镜像

#docker search [options] 镜像名称:#以查找centos为例docker search centos #将会在 https://hub.docker.com 寻找centos镜像#--limit N:只列出N个镜像,默认25个docker search --limit 5 centos #只列出5个与centos相关的镜像

NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED
镜像名称镜像说明点赞数量是否是官方的是否是自动创建的

 下载镜像

#docker pull 镜像名称[:TAG]:#以下载centos为例docker pull centos #没有TAG就是下载最新版

查看各部分所占空间

#docker system df:docker system df #查看镜像/容器/数据卷所占空间

删除镜像

#docker rmi [-f] 镜像名字ID:#-f 为强制删除docker rmi -f 镜像ID #删除单个docker rmi -f 镜像名1:TAG 镜像名2:TAG #删除多个docker rmi -f $(docker images -qa) #删除全部
  • 删除前

  • 删除后
#以删除centos为例:docker rmi -f centos:7 centos:latest

容器命令

新建+启动命令

#docker run [options] IMAGE [COMMAND] [ARG...]--name="容器新名字" :为容器指定一个名称#启动守护式容器(后台运行):-d: 后台运行容器并返回容器ID;#启动交互式容器(前台有伪终端,等待交互);-i:以交互模式运行容器,通常与 -t 同时使用;-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;也即#端口指定-P: 随机端口映射,大写P-p: 指定端口映射,小写p