一、基本概念
Docker发部分的操作都是围绕着它的三大核心概念:镜像、容器和仓库。
Dokcer镜像 docker镜像类似于虚拟机镜像,可以理解为一个只读模板。镜像是创建docker容器的基础。
Docker容器 docker容器类似于一个轻量级的沙箱,docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例。
Docker仓库 docker仓库类似于代码仓库,是docker几种存放镜像文件的场所。
二、安装Docker引擎
2.1 Ubuntu环境下安装Docker
参考:https://docs.docker.com/install/linux/docker-ce/ubuntu/
系统要求:Docker目前支持的最低Ubuntu版本为14.04LTS,可以通过以下代码查看Ubuntu版本内核信息:
1 $ uname -a
2 Linux localhost 4.9.36-x86_64-generic
或者:
1 $ cat /proc/version
添加镜像源:
首先需要安装apt-transport-https等软件包支持https协议的源:
1 $ sudo apt-get update
2 $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加源的gpg秘钥:
1 $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add-OK
获取当前操作系统的代号:
1 $ lsb_release -cs
2 xenial
一般情况下,Ubuntu16.04LTS的代号为xenial,Ubuntu18.04的代号为bionic。接下来通过如下命令添加Docker稳定版的官方软件源:
1 $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/limux/ubuntu xenial stable"
添加成功过后再次更新apt软件包缓存。
1 $ sudo apt-get update
开始安装Docker:在成功添加源之后就可以安装最新版本的docker了,软件包名称为docker-ce,代表是社区版本:
1 $ sudo apt-get install -y docker-ce
除了基于手动添加软件源的方式外,也可以使用官方提供的脚本自动化安装Docker:
1 $ sudo curl -sSL https://get.docker.com/ | sh
安装成功后,会自动启动Docker服务。
2.2 CentOS环境下安装Docker
参考:https://docs.docker.com/install/linux/docker-ce/centos/
Docker目前支持Centos7及其以后的版本。首先,为了方便添加软件源,以及支持devicemapper存储类型,安装如下的软件包:
1 $ sudo yum update
2 $ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker稳定版本的yum软件源:
1 $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
之后更新yum软件源缓存,并安装Docker:
1 $ sudo yum update
2 $ sudo yum install -y docker-ce
最后,确认Docker服务启动正常:
1 $ sudo systemctl start docker
三、使用Docker镜像
3.1 获取镜像
镜像是运行容器的前提,使用pull命令就可以从Docker Hub镜像源来下载镜像。
命令格式为: docker pull NAME[:TAG]
其中,NAME是镜像仓库名称(用来区分镜像),TAG是镜像的标签(通常表示版本信息)。如获取一个Ubuntu 18.04系统的基础镜像可以使用如下命令:
1 $ docker pull ubuntu:18.04
3.2 查看镜像信息
使用docker images 命令或者docker image ls 命令列出本地主机上已有的镜像的基本信息。
使用docker tag NAME1[:TAG1] NAME2[:TAG2]命令添加镜像标签。
3.3 搜索镜像
使用docker search 命令可以搜索Docker Hub 官方仓库中的镜像。
语法格式为:docker search [option] keyword
支持的命令主要包括:
-f , --filter filter:过滤输出内容
--format string:格式化输出内容
--limit int:限制输出结果个数,默认为25个
--no-trunc:不截断输出结果
例如,搜索官方提供的Nginx关键字的镜像,结果如图:
3.4 删除和清理镜像
使用标签删除镜像 使用docker rmi 或者docker image rm 命令可以删除镜像。
命令格式为docker rmi IMAGE [IMAGE...],其中IMAGE可以是标签或者ID
主要支持的选项有:
-f,-force:强制删除镜像
-no-prune:不要清理为带标签的父镜像
例如,删除刚才创建的myubuntu:18.04镜像,如图:
清理镜像 使用Docker一段时间后,系统中可能会遗留一些临时的镜像文件,以及一些没有被使用的镜像文件,可以通过 docker image prune 命令来进行清理。
主要支持的选项包括:
-a,-all:删除所有无用的镜像,不光是临时镜像
-filter filter:只清理符合给定过滤器的镜像
-f,-force:强制删除镜像,而不进行提示确认
四、操作容器
创建容器:docker create 命令创建一个容器。
启动容器:docker start 命令启动一个已经创建好了的容器。
新建并启动容器: docker run 命令用来创建并启动容器。下面的命令启动一个bash终端,允许用户进行交互。
暂停容器:docker [conrainer] pause CONTAINER [CONTAINER...]命令来暂停运行中的容器。例如:
终止容器: docker stop 命令终止运行中的容器。
进入容器:docker attach 命令用于进入容器,但有局限性;推荐使用 docker exec 命令来进入容器。
删除容器:docker rm 命令用于删除容器。