黑客基础网恋避险2

发布于:2024-12-06 ⋅ 阅读:(47) ⋅ 点赞:(0)

声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

容器与云

创建Apache容器后台运行

sudo container run -d --rm -p 8080:80 httpd

image.png

第一次运行镜像的容器时都会有Unable 这是很常见的情况,因为本来就没有,所以需要Docker去网上pull

使用curl命令检查搭建是否成功

curl localhostt:8080

image.png

存在回显,有具体标签,表示搭建成功

Docker 常用命令

查看所有正在运行容器

docker container ls

查看所有已经创建的容器

docker ps -a

查看特定容器的进程信息

docker top <container_name_or_id>

登陆后台运行的容器
容器名去ls那看

docker exec -it 容器名 /bin/bash

– 使用设置的参数name也是可以的.如: docker exec -it my_centos7/bin/bash

停止容器

docker container stop 容器名

image.png

挂载宿主机目录
什么是挂载?

挂载就像是在电脑里给一个文件夹添加一个“快捷方式”,但这个“快捷方式”指向的是另一个存储设备(如硬盘、U盘、网络驱动器等)上的内容。一旦你做了这个“快捷方式”,你就可以像访问普通文件夹一样访问那个存储设备上的文件和文件夹。

挂载的比喻
想象一下,你的电脑是一个大房子,里面有很多房间(文件夹)。现在你买了一个新的书架(新的硬盘或分区),你想把书架上的书(文件)放在房子里的一个特定房间里(某个目录)。挂载就是让你可以把书架直接“放进”这个房间,这样你就可以直接在这个房间里找到书架上的所有书,而不需要去外面找。

挂载的例子
假设你有一个 U 盘,插到电脑上后,你需要告诉电脑:“嘿,电脑,我有一个 U 盘,我希望你能把它显示在我的 ~/usb_drive 文件夹里。” 这个过程就叫做挂载。

sudo mount /dev/sdb1 ~/usb_drive

/dev/sdb1 是 U 盘上的第一个分区。
~/usb_drive 是你要挂载到的地方,即你在电脑里的一个文件夹。
挂载完成后,你就可以在 ~/usb_drive 文件夹里看到 U 盘上的所有文件了。

卸载是什么?
卸载就是把“快捷方式”移除掉,或者说把书架从房间里搬走。当你不再需要访问 U 盘上的文件时,你可以卸载它:

sudo umount ~/usb_drive

卸载后,~/usb_drive 文件夹又会变回原来的样子,里面的文件是之前隐藏的文件。

Docker 中的挂载
在 Docker 里,挂载有点类似,但它是指将你电脑上的一个文件夹(主机文件夹)连接到容器内部的一个文件夹。这样做的好处是可以让容器内的程序访问你电脑上的文件,就像它们是在容器里一样。

例如,如果你想让你的 Docker 容器访问你电脑上的 ~/my_project 文件夹,你可以这样做:

docker run -it --name my_container -v ~/my_project:/container/project centos:7 /bin/bash

这条命令的意思是:启动一个名为 my_container 的容器,并将你电脑上的 ~/my_project 文件夹挂载到容器内的 /container/project 文件夹。

总结
挂载就是让一个存储设备(如硬盘、U盘)或文件夹的内容出现在另一个地方,这样你可以更方便地访问这些内容。在 Docker 中,挂载可以帮助你共享数据,使容器内外的数据同步。

docker container run -d --rm -p 8080:80 -v
/home/user/webroot/:/usr/local/apache2/htdocs/ httpd

-d 参数

功能 :表示以 “分离(detached)” 模式运行容器。
含义和作用 :当容器以这种模式启动后,它会在后台运行,不会占用当前的命令行终端。这使得你可以在启动容器后,继续在终端中执行其他任务,比如启动其他容器、检查容器状态或者运行其他系统命令等。例如,你可以在
启动这个 httpd 容器后,马上使用 docker ps 命令查看容器是否已经成功启动并在后台运行。

–rm 参数

功能 :设置容器在退出时自动删除。
含义和作用 :一旦容器内的任务完成或者因为某种原因(如发生错误、手动停止等)停止运行,Docker 会自动删除这个容器。这有助于保持 Docker 环境的整洁,避免大量无用的容器占用磁盘空间。特别是在临时测试或者短期运
行容器的场景下非常有用,比如你只是想快速测试一下 httpd 服务器的配置,使用完后容器自动删除,不需要手动清理。

-p 8080:80 参数

功能 :进行端口映射。
含义和作用 :左边的 8080 是宿主机(运行 Docker 的物理机或虚拟机)上的端口,右边的 80 是容器内 httpd 服务器默认监听的端口。通过这种映射,外部客户端(如浏览器)访问宿主机的 8080 端口时,请求会被转发到容器内 httpd 服务器监听的 80 端口。这就使得你可以通过宿主机的 8080端口来访问容器内 httpd 服务器提供的网页服务。例如,在浏览器中输入宿主机的 IP 地址加上 8080 端口(如 http://[宿主机IP]:8080 ),就可以访问容器内 httpd 服务器上的网页。

-v /home/user/webroot/:/usr/local/apache2/htdocs/ 参数

功能 :进行目录挂载。

含义和作用 :左边的 /home/user/webroot/ 是宿主机上的一个目录,右边的 /usr/local/apache2/htdocs/ 是容器内 httpd 服务器存放网页文档的默认目录。通过这种挂载,将宿主机上的目录挂载到容器内相应的目录。这样做有很多好处,一是方便在宿主机上直接对要提供给 httpd 服务器的网页文档进行编辑、更新等操作。例如,你在宿主机的/home/user/webroot/目录下新建一个 index.html 文件,容器内的 httpd 服务器就能直接使用这个文件来提供网页服务。二是实现了数据的持久化和共享,即使容器重新启动或者被删除后重新创建,只要宿主机上挂载的目录中的数据没有丢失,容器内的 httpd 服务器就可以继续使用这些数据来提供网页服务。

httpd 部分
功能 :指定要运行的容器所基于的镜像名称。
含义和作用 : httpd 是一个常用的用于搭建 Apache HTTP 服务器的镜像。
通过运行基于这个镜像的容器,容器内部会启动 httpd 服务器,从而能够对外提供网页服务。当容器启动后, httpd 服务器会根据容器内的配置和挂载的网页文档目录来提供相应的网页内容

docker container run -d --rm --network host -v
/home/user/webroot/:/usr/local/apache2/htdocs/ httpd```


--network host 参数
功能:将容器的网络模式设置为 “host” 模式。
含义和作用:在这种模式下,容器会直接使用宿主机的网络栈。容器内的网络接口和端口将直接与宿主机相同,不再进行端口映射操作。例如,容器内 httpd服务器监听的 80 端口,将直接在宿主机的 80 端口上进行监听。这对于一些需要直接使用宿主机网络资源或者需要避免网络地址转换(NAT)带来的复杂性的应用场景很有用。不过,这种模式也有一定的风险,因为容器内的服务将直接暴露在宿主机网络上,可能会增加安全风险

网站公告

今日签到

点亮在社区的每一天
去签到

热门文章