docker新手村教程

在这里插入图片描述

容器技术的起源

当我们将自己的代码交给测试、运维人员时,经常会出现环境问题,大部分人的反应通常会是这样的:
“明明在人家的环境上是可以运行的。”

上面这个过程,总共需要搭建三套环境,费时费力,还需要程序员表演。因此,docker技术应运而生。
在这里插入图片描述

docker的优势

在这里插入图片描述

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

  • 集装箱之间相互隔离
  • 长期反复使用
  • 快速装载和卸载
  • 规格标准,跨平台使用

docker架构

在这里插入图片描述

  • 镜像(Image):任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。

  • 容器(Container):容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。

  • 仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。

docker相关操作指令

镜像

在这里插入图片描述

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

2 dockerfile

  • Dockerfile 是一个文本文件
  • 包含了一条条的指令
  • 每一条指令构建一层,基于基础镜像,最终构建出一个新的镜像
  • 对于开发人员:可以为开发团队提供一个完全一致的开发环境
  • 对于测试人员:可以直接拿开发时所构建的镜像或者通过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 宿主机目录(文件):容器内目录(文件) ... 

注意事项

  • 目录必须是绝对路径
  • 如果目录不存在,会自动创建
  • 可以挂载多个数据卷

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42990464/article/details/126456826