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
卸载
- 停止服务
- 卸载docker及相关软件
- 删除残余文件
- 删除本地已存在的容器文件夹
#停止服务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
各个选项说明:
REPOSITORY | TAG | IMAGE ID | CREATED | SIZE |
---|---|---|---|---|
表示镜像的仓库源 | 镜像的标签版本号 | 镜像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相关的镜像
NAME | DESCRIPTION | STARS | OFFICIAL | AUTOMATED |
---|---|---|---|---|
镜像名称 | 镜像说明 | 点赞数量 | 是否是官方的 | 是否是自动创建的 |
下载镜像
#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