前提条件
- 目前,CentOS 仅发行版本中的内核支持 Docker。
- Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
- Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
使用 yum 安装
**Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。 **
通过 uname -r 命令查看你当前的内核版本
安装 Docker
检查并删除旧版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新 yum 缓存
sudo yum makecache fast
安装 Docker-ce:
sudo yum -y install docker-ce
启动 Docker 后台服务
sudo systemctl start docker
测试运行 hello-world
[root@runoob ~]# docker run hello-world ## 这个命令有两步,拉取和运行
使用 docker ps -a 查看docker中的容器信息
CONTAINER ID | IMAGE |
---|---|
容器id | 镜像名称 |
使用 docker images 查看全部镜像
删除镜像和容器
删除镜像需要先删除容器,再删除镜像
docker rm 容器id # 删除容器
docker rmi 镜像id # 删除镜像
镜像加速
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决。
在 /etc/docker/daemon.json daemon.json文件中配置镜像的地址,没有这个文件的话,就创建一个
{
"registry-mirrors": ["镜像地址"]
}
我使用的阿里云的镜像。查找步骤为:阿里云首页左上角>产品>开发与运维>代码托管、仓库>容器镜像服务>控制管理台>镜像加速器。
剩下的就是登陆了。
常用命令
镜像相关
1)docter pull NAME[:TAG] 使用pull命令从docker hub仓库下载镜像到本地
2)docker tag oldName newName 为本地镜像添加新的标签
3)docker images 列出本地主机上已有的镜像
4)docker search TERM 默认搜索docker hub官方仓库的镜像
5)docker rmi IMAGE [IMAGE…] IMGE可以是标签或id
6)docker commit [OPTIONS] CONTAINER[REPOSITORY[:TAG]] 基于已有镜像的容器创建镜像,可以创建比较复杂的镜像。-a:作者信息,-m:提交信息,-p:提交时暂停容器运行
7)docker import -NAME[:TAG] 基于本地模板导入镜像
8)docker build -t NAME[:TAG] dockerfile路径 基于dockerfile创建
9)docker save –o xxx.tar NAME[:TAG] 存出镜像到本地文件
10)docker load 加载容器
11)docker inspect 镜像id 查看镜像详细信息
容器相关
1)docker create –it NAME[:TAG] 创建容器
2)docker start NAME[:TAG] 启动容器
3)docker run –it NAME[:TAG] 等于先执行docker create命令,再执行docker start,-it交互式,守护态运行,通过run后加-d实现
4)docker stop[-t|–time[=10]] 终止容器
5)docker restart NAME[:TAG] 启动状态重新启动
6)docker ps –a –q 查看处于终止的容器id信
7)docker ps 查看正在运行的容器
8)docker ps –a 查看所有容器
9)docker rm 容器id 删除容器,需要先停止
10)docker logs 容器id 查看容器日志
11)docker port <container-name|container-id> 端口 查看容器映射端口
12)docker inspect 容器id 查看容器信息
13)docker exec -u root -it containerID /bin/bash 指定用户进入容器操作
14)env 容器内部输入env查看容器内部环境变量
15)docker cp <host_path>container-id :<container_path> 复制本地文件到容器
16)** docker cp container-id:<container_path><host_path> ** 复制容器文件到本地
17)docker network create app_net 创建自定义网络
18)docker network connect app_net container-name连接网络
19)docker run -it -v /dbdata --name dbdata 创建数据卷容器dbdata,并在其中创建数据卷挂载到/dbdata。其他容器挂载使用–volumes-from dbdata,可以多次使