Docker 的基本安装与操作
提供两个源地址
官方源
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
国内源:
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 docker-ce
Yum -y install docker-ce
这个命令会安装最新版本,安装完后,并不会启动docker,会创建docker组,但是组中没有任何用户
3、启动docker
systemctl start docker
4、测试。检查docker是否正确安装并运行hello-world镜像
docker run hello-world

鉴于国内网络问题,后续拉取Docker镜像十分缓慢,强烈建议安装 Docker 之后配置国内镜
像加速。
例如:
阿里云加速器
DaoCloud 加速器
灵雀云加速器
1、注册一个阿里的账号
2、进行加速器页面https://cr.console.aliyun.com/#/accelerator
3、复制你的加入器URL
对于使用 systemd 的系统,用systemctl enable docker 启用服务后,编辑
/etc/systemd/system/multi-user.target.wants/docker.service 文件,找到 ExecStart=
这一行,在这行最后添加加速器地址 --registry-mirror=<加速器地址>,如:
ExecStart=/usr/bin/dockerd --registry-
mirror=https://jxus37ad.mirror.aliyuncs.com
注:对于 1.12 以前的版本,dockerd 换成 docker daemon。
重新加载配置并且重新启动。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
使用docker镜像
Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器的仓库),用户也可以通过配置,使用自定义的镜像仓库。
1搜索镜像
Docker search 命令 可以搜索远端仓库的共享镜像
--automated=true|false:仅显示自动创建的镜像,默认为否;
--no-trunc=true|false:输出信息不截断显示,默认为否;
-s, --stars=X:指定仅显示评价为指定星级以上的镜像,默认为0,即输出所有镜像。
比如 docker search --automated -s 3 nginx
2 获取镜像
Docker pull name:tag
比如 docker pull centos:latest
3 查看镜像信息
Docker images 可以列出本地主机的所有镜像
4 为镜像添加新的标签
docker tag nginx:latest mynginx:latest
5 获取镜像的详细信息
Docker inspect [name:tag]
返回的是一个JSON格式的消息,如果我们只要其中一项内容时,可以使用参数-f来指定,例
docker inspect -f {{".Architecture"}} nginx amd64
6查看镜像历史
Docker history name:tag
7 删除镜像
Docker rmi name:tag
8 创建镜像
1) 基于已有的镜像的容器创建 命令格式为
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
a, --author="":作者信息;
-m, --message="":提交消息;
-p, --pause=true:提交时暂停容器运行。
比如 先启动一个容器
Docker run -it centos:1.0 /bin/bash 在容器执行一些操作
比如 yum -y install mariadb-server
然后基于容器创建镜像
Docker commit -m “add mariadb server” “启动的容器ID” mariadb:1.0
2) 基于本地模板导入
Docker import
要直接导入一个镜像,可以使用OpenVZ提供的模板来创建,或者用其他已导出的镜像模板来
创建。OPENVZ模板的下载地址为http://download.openvz.org/template/precreated/
列如 cat centos.tar.gz | docker import – centos:1.0
9 存出导入镜像
导出本地镜像 docker save -o centos.tar centos:1.0
载入本地镜像 docker load –-input centos:1.0 或者
Docker load < centos:1.0
Docker 容器 操作
1创建容器 docker create -it centos:latest
-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
-i 让容器的标准输入保持打开(即交互式

2启动容器 docker start [name]
3 新建并启动容器
Docker run -itd --name centos centos:1.0 /bin/bash
Docker 在后台运行的标准操作包括:
1)检查本地是否存在指定的镜像,不存在就从公有仓库下载
2)利用镜像创建并启动一个容器
3)分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
4)从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
5)从网桥的地址池配置一个IP地址给容器
6)执行用户指定的应用程序
7)执行完毕后容器被终止
常用容器操作命令:
[root@docker01 ~]# docker stop d17f8988a49e 停止一个容器
[root@docker01 ~]# docker start d17f8988a49e 启动一个容器
[root@docker01 ~]# docker restart d17f8988a49e 重启一个容器
[root@docker01 ~]# docker inspect d17f8988a49e 查看容器详细信息
容器导入和导出
导出容器
docker export [容器 id] > [导出文件
导入容器
可以使用docker import ,从容器快照文件中再导入为镜像
Cat centos.tar | docker import – centos.tar
删除容器
Docker rm 【容器id/容器 name 】
批量删除多个容器
Docker rm $(docker ps -a -q)