From db42d56973d2d9ed572f2cc01dcf9e2684a57ec0 Mon Sep 17 00:00:00 2001 From: LeJingS <3489749586@qq.com> Date: Fri, 31 Jan 2025 15:31:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20d01.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Docker/d01.md | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 83 insertions(+), 1 deletion(-) diff --git a/Docker/d01.md b/Docker/d01.md index 06583b0..4de1f0f 100644 --- a/Docker/d01.md +++ b/Docker/d01.md @@ -669,22 +669,104 @@ lejings@ljs-Ubuntu-desktop:/home/ceshi$ ls test.java lejings@ljs-Ubuntu-desktop:/home/ceshi$ 测试成功 -双向同步,容器停止后修改的内容会在容器再次启动时更新 +双向同步,容器停止后修改的内容会在容器再次启动时更新(其实是宿主机的物理地址共享) ``` +#### 实战Mysql同步数据 +```shell +# 拉取 +lejings@ljs-Ubuntu-desktop:~$ docker pull mysql:5.7 +# 启动 +lejings@ljs-Ubuntu-desktop:~$ docker 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 +c686996e4cdb406b533fd6ea496f007100bd777485b715c816b92da2d689a2ec +lejings@ljs-Ubuntu-desktop:~$ +``` +连接成功 +image-20250123204254091 +#### 具名挂载和匿名挂载 +```shell +# 匿名挂载 +-v 容器内路径 +docker run -d -p --name nginx01 -v /etc/nginx + +# 具名挂载 +lejings@ljs-Ubuntu-desktop:~$ docker run -d -P --name nginx02 -v juming-nainx:/etc/nginx nginx +0561158ddf35d3bc289d8a81f06cded29252f646a9ddbd168f9f54454e269d1b + +# 容器一览 +lejings@ljs-Ubuntu-desktop:~$ docker volume ls +DRIVER VOLUME NAME +local a4726a89648712bb6c551219604a51cd75324630abfd36acf570d36fbc7a7617 +local juming-nainx +# 查看卷 + +Last login: Fri Jan 24 13:17:36 2025 from 192.168.5.8 +lejings@ljs-Ubuntu-desktop:~$ docker volume inspect juming-nainx +[ + { + "CreatedAt": "2025-01-23T21:12:52+08:00", + "Driver": "local", + "Labels": null, + "Mountpoint": "/var/lib/docker/volumes/juming-nainx/_data", + "Name": "juming-nainx", + "Options": null, + "Scope": "local" + } +] + +# docker文件查看 +root@ljs-Ubuntu-desktop:/home/lejings# cd /var/lib/docker +root@ljs-Ubuntu-desktop:/var/lib/docker# ls +buildkit containers engine-id image network overlay2 plugins runtimes swarm tmp volumes +root@ljs-Ubuntu-desktop:/var/lib/docker/volumes# ls +a4726a89648712bb6c551219604a51cd75324630abfd36acf570d36fbc7a7617 backingFsBlockDev juming-nainx metadata.db +root@ljs-Ubuntu-desktop:/var/lib/docker/volumes# + +``` + +通过具名挂载,可以方便快捷的找到卷 + +```shell +# 格式 +-v 容器内路径 匿名挂载 +-v 卷名:容器内路径 具名挂载 +-v /宿主机路径:容器内路径 指定路径挂载 +``` + +拓展: + +```shell +# 加上ro和rw更改读写权限,只读和可读可写 +# 一旦设定了权限,容器对我们挂载出来的内容就有限定了 +docker run ··· -v juming-nginx:/etc/nginx:ro nginx +docker run ··· -v juming-nginx:/etc/nginx:rw nginx +# ro 只要看到就说明容器内部无法操作,相对的文件只能从宿主机更改 +``` + + + +##### 初识DockerFile + +用来构建docker镜像的构建文件 是一段命令脚本 + +> 构建镜像方式二: + +``` shell + +```