Docker基础-简易(命令与数据卷)

常用命令

docker run //创建并运行一个容器,-d 代表在后台工作
--name mysql //给容器起个名字
-p 3306:3306 //设置端口映射
-e KEY=VALUE //是设置环境变量
mysql:5.7 //指定运行的镜像名字和镜像版本

docker pull //从镜像仓库拉一个镜像到本地

docker ps //查看运行中的容器-a表示查看所有的容器

docker images //查看本地镜像

docker save //将镜像保存为tar到本地文件中
docker rmi //删除本地镜像

dockers load //上传镜像(将tar文件解压缩

docker run //创建一个容器

docker stop //停止一个容器
docker start //启动一个容器
docker logs //查看容器日志
docker exec //进入到一个容器中
docker rm //删除一个容器

数据卷

由图可知:在exec执行后进入容器内想要修改静态资源特别困难,因此引入数据卷解决修改静态资源等问题

创建数据卷,将容器内部的难以编辑的资源使用数据卷挂载到主机上,通过主机的修改同时也能映射到容器内部的资源,实现方便、快捷的修改资源

Docker的数据卷是用于在容器和主机之间共享数据的一种机制。通过使用数据卷,可以将数据从容器持久化到主机,这样即使容器被删除或重新创建,数据仍然可以保留。

使用数据卷的一些主要优点包括:

  • 持久性:数据卷中的数据不受容器生命周期的影响,可以在容器之间共享和重用。
  • 灵活性:可以将数据卷挂载到多个容器中,以实现数据的共享和协作。
  • 性能:与容器内的普通文件系统相比,数据卷具有更好的性能,特别适用于频繁的读写操作。
  • 备份和恢复:可以轻松备份和恢复数据卷中的数据,以保护重要数据不丢失。

创建和使用数据卷非常简单。可以使用docker volume create命令创建一个数据卷,然后在启动容器时使用-v选项将数据卷挂载到容器中(必须在启动之前挂载)。

docker volume create html //可以不需要,使用docker run 挂载时候如果没有会自动创建

docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx

docker volume inspect html //查看数据卷在本地的位置,并且修改以后可以直接映射到容器中

MySQL容器数据挂载

在执行 docker run 命令时,使用 -v 本地目录:容器内录 可以完成本地目录挂载。

本地目录必须以 "/" 或 "/" 开头,如果直接以名称开头,会被识别为数据卷而非本地目录。

  • v mysql:/var/lib/mysql 会被识别为一个数据卷叫 mysql。
  • v ./mysql:/var/lib/mysql 会被识别为当前目录下的 mysql 目录。
docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123 -v /root/mysql/data:/var/lib/mysql -v /root/mysql/init:/docker-entrypoint-initdb.d -v /root/mysql/conf:/etc/mysql/conf.d mysql

挂载前分别要创建好mysql下,conf,init,data

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值