Docker是基于Go语言实现的云开源项目。
目录
Docker概述
CentOS7安装Docker
卸载
Docker常用命令
容器命令
Docker概述
Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及 其运行环境能够做到“一次镜像,处处运行”。
将应用打包成镜像,通过镜像成为运行在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 gcc yum -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 CE yum -y install docker-ce docker-ce-cli containerd.io
- 安装过程
- 安装结果
启动Docker
#启动docker systemctl 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



