深入浅出,简单谈一下对docker的认识

Docker是一种开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows上。

Docker的主要优点包括:

  1. 可移植性:Docker允许开发者将应用及其所有依赖项打包到一个可移植的容器中,然后轻松地将其从一个环境部署到另一个环境。
  2. 简化开发:通过Docker,开发者可以在隔离的环境中运行和测试他们的应用,这大大简化了应用的开发和部署过程。
  3. 可扩展性:Docker可以很容易地实现横向和纵向的扩展。这意味着它可以轻松应对应用的高峰期,也可以在需求减少时缩减规模。
  4. 高效:Docker容器在主机上运行,这使得资源管理更加高效,因为它们共享相同的基础操作系统。此外,Docker只加载一次运行时需要的资源,这大大提高了性能。
  5. 社区支持:Docker有一个庞大的社区,这意味着有大量的现成的解决方案可以解决许多常见问题,同时也有大量的工具和库可供使用。

要使用Docker,首先你需要安装Docker引擎。然后,你可以创建Dockerfile来定义你的应用及其依赖项如何被打包到容器中。接下来,你可以使用docker build命令来构建你的Docker镜像,然后使用docker run命令来运行你的应用。

不过,虽然Docker有很多优点,但也存在一些挑战,例如安全性和性能问题。例如,Docker使用了Linux内核的命名空间来隔离不同的容器,这可能会导致一些安全性的问题。此外,由于每个容器都有自己的文件系统和进程,这可能会导致一些性能开销。但总的来说,这些挑战并不妨碍Docker成为一个强大而广泛使用的工具。

1. 容器数据卷

1.1 什么是容器数据卷

docker的理念是把应用和环境打包成镜像,方便我们去运行容器。这样引出了一个问题,如果容器没有打包成新的镜像,容器删除了,则容器的数据就会丢失。所以需要同步容器内的数据到其他地方,对应的解决方案就是容器卷技术,通过容器卷技术可以保证容器内的数据同步至本地,让容器间共享数据。

1.2 容器数据卷的作用

容器卷可以保证容器数据的持久化和同步操作,容器间也可以进行数据共享。

容器卷特点:

  • 数据卷可在容器之间共享或重用数据。

  • 数据卷中的数据更改实时生效。

  • 数据卷中的更改不会包含在镜像的更新中。

  • 数据卷的生命周期一直持续到没有容器使用它为止。

1.3 容器数据卷常用命令

1

2# 宿主机和容器之间映射添加容器卷 -v 可以挂载多个

3docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

4# 上面的命令是默认的可读可写,容器内可以读可以写

5# 容器内可读可写

6# docker run -it -v /宿主机绝对路径目录:/容器内目录:rw 镜像名

7# 容器内只读,宿主机写的内容会同步到容器内

8# docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

9

10# 查看数据卷是否挂载成功 Mounts下

11docker inspect 容器id

12

13# 具名挂载、匿名挂载、指定路径挂载

14-v 容器内目录 # 匿名挂载

15-v 卷名:容器内目录 # 具名挂载

16-v 宿主机绝对路径目录:容器内目录 # 指定路径挂载

17

18# 卷的继承和共享

19# 1,容器1完成和宿主机的映射

20docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

21# 2,容器2继承容器1的卷规则

22docker run -it --volumes -from 父类 --name=名称 镜像名

1.4 容器数据卷简单案例

mysql数据持久化

1# 下载mysql镜像

2docker pull mysql:5.7

3

4# 启动容器

5# -d mysql:tag

6# -d 后台运行

7# -p 端口映射

8# -v 卷挂载

9# -e 环境配置

10# --name 容器命名

11

12docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

13

14#navicat测试连接成功

navicat新建test库,查看同步情况

2. dockerFile

2.1 什么是dockerFile

dockerfile是用来构建docker镜像的构建文件(命令参数脚本),其中包含了许多条指令,每条指令构件一层镜像,最后汇总bulid用户自定义镜像。

2.2 dockerFile的作用

Dockerfile的作用即是自定义镜像,用户发布和运行最终的产品。

  • DockerFile:构建文件,定义了一切的步骤,源代码。

  • DockerImages:通过DockerFile构建生成的镜像,最终发布和运行的产品。

  • Docker容器:容器就是镜像运行起来提供服务器。

2.3 dockerFile常用指令

参考官方文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值