
当我们将自己的代码交给测试、运维人员时,经常会出现环境问题,大部分人的反应通常会是这样的:
“明明在人家的环境上是可以运行的。”
上面这个过程,总共需要搭建三套环境,费时费力,还需要程序员表演。因此,docker技术应运而生。


容器的英文是container,它还有集装箱的意思。集装箱在海运史上是一项了不起的发明,大大降低了运输成本。下面是docker的优点:

镜像(Image):任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
容器(Container):容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。
仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。

1 容器转为镜像
[root@xxx ~]# docker commit 容器id 镜像名称:版本号
[root@xxx ~]# docker save -o 压缩文件名称 镜像名称:版本号
[root@xxx ~]# docker load –i 压缩文件名称
2 dockerfile

基于镜像创建一个容器,即docker run操作
[root@xxx ~]# docker run -it centos:latest
查看所有容器
[root@xxx ~]# docker ps -a
启动容器
[root@xxx ~]# docker start 容器名称
停止容器
[root@xxx ~]# docker stop 容器名称
删除容器
[root@xxx ~]# docker rm 容器名称
数据卷的定义
数据卷作用

配置数据卷
[root@xxx ~]# docker run ... –v 宿主机目录(文件):容器内目录(文件) ...
注意事项

编辑配置文件
vim /etc/docker/daemon.json
添加下面的命令
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}
重启docker
service docker restart
查看docker配置
docker info