目录
一、概述
随着云计算和DevOps生态圈的蓬勃发展,产生了大量优秀的系统和软件。软件开发人员可以自由选择各种软件应用环境。但同时带来的问题就是需要维护一个非常庞大的开发(Dev)、测试(Test)、预上线(UAT)和生产环境(Pro)。面对这种情况,Docker容器技术横空出世、提供了简单、灵活、高效的解决方案,不需要过多地改变现有的使用习惯,就可以和已有的工具进行整合。因此,掌握Docker相关技术也是途径云计算的必经之路。
二、docker安装的前期准备工作
1、配置阿里云yum源
有的时候服务器需要下载一些软件,是本地yum源没有的,这时候需要配置网络yum源
2、安装docker 的数据存储驱动包
3、配置本地yum源
4、安装docker-ce
三、结构
- 镜像(image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
- 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
- 仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分。
- 客户端以及命令执行工具
四、更换国内源仓库
vim /etc/docker/daemon.json
{
"registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]
}
开启docker:systemctl restart docker
五、docker信息查看
docker version/docker info
版本信息查看:
详细信息查看:
六、镜像及基础命令操作
- 组成:index/name:tag(tag为latest时不用书写)
- 搜索:docker search keyWord
3拉取:docker pull imageName
4、查看:docker images
5、删除:docker rmi imageName
有需求删除的使用该命令删除软件
6、上传:docker push imageName
7、导出:docker save oldName(POSITORY:TAG) -o filePath/fileName
8、导入:docker import newName(POSITORY:TAG) filePath/fileName
- 修改:修改POSITORY:TAG docker tag oldName(POSITORY:TAG) newName(POSITORY:TAG)
七、容器
- 启动一次性运行(会直接进入容器中,当exit退出容器时,容器停止运行)
docker run -it POSITORY:TAG /bin/bash
2、后台运行(不会直接进入容器,若进入后exit退出,容器依然运行)
docker run -itd POSITORY:TAG /bin/bash
查看:docker ps -a
- 进入:(CONTAINER ID 写到不重复即可)
docker exec -it CONTAINER ID /bin/bash
- 退出:exit