docker基础:搭建centos7(详见B站泷羽sec)

docker的简单学习:

sudo apt-get update                //这个命令让系统检查有没有新软件

sudo apt-get install docker.io        //安装 Docker

sudo docker version                        //查看是否安装成功,显示docker的版本信息

启用Docker

启动成功后,没有错误信息输出。

可以使用 sudo docker ps 命令来验证 Docker 是否正常启动。

sudo service docker start

sudo docker ps

将docker改为国内的源

vim /etc/docker/daemon.json

然后将以下源复制进去即可

{

    "registry-mirrors": [

            "https://5tqw56kt.mirror.aliyuncs.com",

            "https://docker.hpcloud.cloud",

                   "https://docker.m.daocloud.io",

            "https://docker.1panel.live",

            "USTC Open Source Software Mirror",    

            "https://docker.chenby.cn",

            "https://docker.ckyl.me",

                   "Mirror site",

            "https://hub.rat.dev"

]

}

保存并退出

让docker守护进程重新加载配置文件

sudo systemctl daemon-reload

重启docker服务

sudo systemctl restart docker

拉取centos7官方docker的镜像:

sudo docker pull centos:7

 

 

运行一个基于CentOS 7镜像的容器:

sudo docker run -it --name my_centos7 centos:7 /bin/bash

sudo docker run -d --name my_centos7 centos:7 /bin/bash

两命令都会创建, exit 退出后仍然存在,可使用 docker ps -a 进行查看

在这个命令中:

-it 选项允许你交互式地运行容器,会占用终端。OR或者 -d 选项(Detached,分离

模式),容器就会在后台启动并运行,不会占用当前终端

--name my_centos7 给容器命名为my_centos7。

执行上述命令后,你会进入到一个新的CentOS 7容器中,可以在这个环境中执行

CentOS 7系统的命令。

centos:7 指定使用的镜像。

/bin/bash 启动容器后执行的命令,这里启动了bash让你能与容器交互。

 

创建apache容器后台运行

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

 

当没有下载镜像直接启动时,会先下载对应的镜像

命令解释:

docker container run:这是启动一个新容器的命令。

-d:表示以守护进程(detached)模式运行容器,即容器在后台运行,不会占用当前终端。

--rm:当容器停止运行时,自动删除容器。

-p 8080:80:将主机的 8080 端口映射到容器内的 80 端口。这样,外部可以通过访问主机的 8080 端口来访问容器内运行的80端口服务。

 

安装成功:

挂载宿主机目录

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 服务器会根据容器内的配置和挂载

的网页文档目录来提供相应的网页内容

侦听宿主机80端口

docker container run -d --rm --network host -v

/home/user/webroot/:/usr/local/apache2/htdocs/ httpd

--network host 参数

功能:

将容器的网络模式设置为 “host” 模式。

含义和作用:

在这种模式下,容器会直接使用宿主机的网络栈。容器内的网络接口和端

口将直接与宿主机相同,不再进行端口映射操作。例如,容器内 httpd

服务器监听的 80 端口,将直接在宿主机的 80 端口上进行监听。这对于

一些需要直接使用宿主机网络资源或者需要避免网络地址转换(NAT)带

来的复杂性的应用场景很有用。不过,这种模式也有一定的风险,因为容

器内的服务将直接暴露在宿主机网络上,可能会增加安全风险。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/469703.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue3入门介绍及快速上手

vue3 文章目录 vue31、概况2、快速入门3、常用指令3.1、v-for3.2、v-bind3.3、 v-if & v-show3.4、v-model3.5、 v-on 4 生命周期5、 工程化5.1、环境准备5.2、Vue项目-创建5.3、Vue项目开发流程5.4、组合式API5.5、reactive和ref函数5.6、watch5.7、父子组件通信 6、Vue路…

【ARM Coresight OpenOCD 系列 5 -- arp_examine 使用介绍】

文章目录 OpenOCD arp_examine 使用 OpenOCD arp_examine 使用 因为我们很多时候运行 Openocd 的时候有些 core 还没有启动, 所以最好在配置脚本中添加 -defer-examine这个参数, 如下: #cortex-m33 target create ${_CHIPNAME}.m33 cortex_m -dap ${_CHIPNAME}.da…

【大数据学习 | kafka高级部分】kafka的kraft集群

首先我们分析一下zookeeper在kafka中的作用 zookeeper可以实现controller的选举,并且记录topic和partition的元数据信息,帮助多个broker同步数据信息。 在新版本中的kraft模式中可以这个管理和选举可以用kafka自己完成,而不再依赖zookeeper。…

用户裂变数据分析

用户增长是一个工作和找工作的时候都不可避免的话题,那么用户增长,该怎么做数据分析?本文从两个方面分享了大部分企业做用户增长的方法,希望对你有所帮助。 01 用户增长的基本办法 1. 买量 在互联网公司中,买量是占…

论文分享:DiskANN查询算法

详细总结了三篇有关DiskANN最邻近查询图算法的论文 欢迎大家来点赞,更欢迎感兴趣的友友来探讨! DiskANN的提出(NurIPS’19)文献分享: Vamana图算法以及面向SSD的DiskANN文章浏览阅读797次,点赞21次,收藏8次。NurIPS‘19_vamana图…

第16章 SELECT 底层执行原理

一、SELECT查询的完整结构 1.1 方式一(SQL 92语法) SELECT ..., ..., ... FROM ..., ..., ... WHERE 多表的连接条件 AND 不包含组函数的过滤条件 GROUP BY ..., ... HAVING 包含组函数的过滤条件 ORDER BY ... ASC/DESC LIMIT ..., ... 1.2 方式二&a…

【设计模式】结构型模式(四):组合模式、享元模式

《设计模式之结构型模式》系列,共包含以下文章: 结构型模式(一):适配器模式、装饰器模式结构型模式(二):代理模式结构型模式(三):桥接模式、外观…

移门缓冲支架的作用与优势

1. 吸收冲击力,保护门体和墙体移门缓冲支架的主要功能之一是吸收门关闭时的冲击力。当门快速关闭时,如果没有缓冲装置,门会猛烈撞击门框或墙体,可能导致门体、轨道和墙体的损坏。缓冲支架通过吸收这部分冲击力,减少门对…

「IDE」集成开发环境专栏目录大纲

✨博客主页何曾参静谧的博客📌文章专栏「IDE」集成开发环境📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C」C/C程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定…

协程3 --- golang的协程调度

文章目录 单进程时代多进程/线程时代协程时代内核级线程模型(1:1)用户级线程模型(N:1)两级线程模型CMP(M:N)GM模型 GMP模型 单进程时代 描述:每一个程序就是一…

鸿蒙华为商城APP案例

模拟器运行效果如下: 鸿蒙版APP-华为商城-演示视频

vue+Leaflet.PM插件实现创建和编辑几何图形(点、线、面、圆等)

场景 VueLeaflet实现加载OSM显示地图:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/122317394在上面加载显示OSM的基础上,使用Leaflet.pm插件实现在页面上绘制、编辑、剪切、移动几何元素。Leaflet.pm插件 用于创建和编辑几何图层的插件可…

手动实现h5移动端点击全屏按钮横屏展示图片,左右滑动切换,处理页面会随着手指滑动问题

页面提供全屏按钮,全屏展示的容器 <div class"container"><button click"openSwiper">点击全屏查看</button><!-- 大图 --><divclass"full"v-if"showSwiper"touchstart"handleTouchStart"touch…

Vue2+3 —— Day3/4

Day3 Vue生命周期 和 生命周期的四个阶段 Vue生命周期的四个阶段&#xff1a; 从创建到销毁的整个阶段中&#xff0c;Vue提供好了一系列函数&#xff08;8个&#xff09;&#xff1b; 并且在经历生命周期的对应阶段时&#xff0c;会自动帮你调用这些函数 这8个函数称为生命…

Redis集群模式之Redis Sentinel vs. Redis Cluster

在分布式系统环境中&#xff0c;Redis以其高性能、低延迟和丰富的数据结构而广受青睐。随着数据量的增长和访问需求的增加&#xff0c;单一Redis实例往往难以满足高可用性和扩展性的要求。为此&#xff0c;Redis提供了两种主要的集群模式&#xff1a;Redis Sentinel和Redis Clu…

机器学习———特征工程

1 特征工程概念 特征工程就是对特征进行相关的处理&#xff0c;一般使用pandas来进行数据清洗和数据处理、使用sklearn来进行特征工程&#xff0c;特征工程是将任意数据(如文本或图像)转换为可用于机器学习的数字特征&#xff0c;比如:字典特征提取(特征离散化)、文本特征提取…

服务器数据恢复—分区结构被破坏的reiserfs文件系统数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器中有一组由4块SAS硬盘组建的RAID5阵列&#xff0c;上层安装linux操作系统统。分区结构&#xff1a;boot分区LVM卷swap分区&#xff08;按照顺序&#xff09;&#xff0c;LVM卷中划分了一个reiserfs文件系统作为根分区。 服务器故障…

vue3+vite搭建脚手架项目本地运行electron桌面应用

1.搭建脚手架项目 搭建Vue3ViteTs脚手架-CSDN博客 2.创建完项目后&#xff0c;安装所需依赖包 npm i vite-plugin-electron electron26.1.0 3.根目录下创建electron/main.ts electron/main.ts /** electron/main.ts */import { app, BrowserWindow } from "electron&qu…

C++ | Leetcode C++题解之第556题下一个更大元素III

题目&#xff1a; 题解&#xff1a; class Solution { public:int nextGreaterElement(int n) {int x n, cnt 1;for (; x > 10 && x / 10 % 10 > x % 10; x / 10) {cnt;}x / 10;if (x 0) {return -1;}int targetDigit x % 10;int x2 n, cnt2 0;for (; x2 …

大数据技术之Hadoop :我是恁爹

就如上图中的技术分类&#xff0c;大数据技术主要解决的就是海量数据的存储和计算问题。 这两个问题的解决方案最先被 Google 被提出&#xff0c;用于解决 Google 搜索引擎海量的网页存储和索引的构建。对应的技术就是日后被人所熟知的 HDFS 和 MapReduce。 不关注大数据的可…