Docker常用命令分享二
docker的用户组管理过程:
1、sudo : 可以让普通用户临时获得root用户的权限,来新建docker用户组
2、普通用户并没有使用sudo的权限
3、先要让root用户把testing用户加入到sudoers的授权文件中
4、sudoers的文件居然是只读的,先解决这个问题
5、chmod u+w /etc/sudoers 用root用户的权限给sudoers文件赋予写权限
6、在sudoers文件中,添加testing ALL=(ALL) ALL这句话
7、现在testing用户就可以使用sudo的命令了。
sudo groupadd docker 添加docker用户组
sudo usermod -G docker testing 向docker用户组中添加用户
8、重新登录linux
======================================================
1、镜像加速:添加/etc/docker/daemon.json
{
“registry-mirrors”: [
“https://registry.docker-cn.com”
]
}
2、容器运行分两种
(1)交互式运行
docker run -it webdevops/php-apache-dev /bin/bash
exit退出容器
(2)守护式运行
docker run -d webdevops/php-apache-dev
3、create状态也是exit的状态
============================================================
win8 ----vmware(linux)----docker(容器-php/apache/mysql)
实际工作:linux(host)—docker(容器-php/apache/mysql)
在配置文件中找DocumentRoot,就是apache的发布目录,可以将需要发布的web页面拷贝到该目录下。
cat vhost.conf |grep DocumentRoot 使用管道符和grep命令对DocumentRoot的关键字进行查找
webdevops/php-apache-dev 的发布目录是/app
编写一个简单的php页面:hello.php
<?php echo "Hello world! I like docker!"; ?>docker run -d -p 8082:80 -v /home/51testing/webtest:/app webdevops/php-apache-dev
· -p 8082:80 将主机中的8082端口映射到容器中的80端口
· -v /home/51testing/webtest:/app
将主机中的/home/51testing/webtest和容器中的/app做对接,实现数据共享(容器中的目录必须为空,否则主机目录中的内容将覆盖容器的目录内容)
docker run -d -p 8083:80 --mount source=myvol,target=/usr/local/apache2/htdocs httpd
–mount source=myvol 指定要挂载的数据卷是哪一个
,target=/usr/local/apache2/htdocs 要把数据卷挂到容器的什么目录下
技巧:docker rm $(docker ps -aq)
整体清除docker已经exit的容器
linux下的复制和黏贴快捷键
ctrl-insert 复制
shift-insert 黏贴
init 3 可以进入纯命令行的linux系统、使用ctrl+alt可以使鼠标退回到win里面
============================================================
1、查看自定义网络的详细信息
docker network inspect 自定义网络名
2、busybox
一个集成了一百多个最常用的linux命令的工具(比如cat,echo,grep,mount,telnet。。。。),大概在几个MB大小,很精简。可以供我们方便验证一些linux的命令,可以供我们快速学习一些linux命令。
3、busybox运行时不能用/bin/bash,要用sh。也是Linux中的一个人机接口
docker run -it --network=mynet --name box1 busybox sh
–network=mynet 将新建的容器加入到mynet的网络中
–name box1 是为新建的容器起一个好记的名字
4、
用目录映射的方式实现lamp:
docker run -d -p 8082:80 -v /root/Desktop/:/var/www/html --name mylamp nickistre/centos-lamp
用数据卷的方式实现lamp:
docker run -d -p 8083:80 --mount source=lampvol,target=/var/www/html nickistre/centos-lamp
======================================================
相关文章:
Docker常用命令分享二
docker的用户组管理过程: 1、sudo : 可以让普通用户临时获得root用户的权限,来新建docker用户组 2、普通用户并没有使用sudo的权限 3、先要让root用户把testing用户加入到sudoers的授权文件中 4、sudoers的文件居然是只读的,先解决这个问…...

【一步步开发AI运动小程序】二十、AI运动小程序如何适配相机全屏模式?
引言 受小程序camera组件预览和抽帧图像不一致的特性影响,一直未全功能支持全屏模式,详见本系列文件第四节小程序如何抽帧;随着插件在云上赛事、健身锻炼、AI体测、AR互动场景的深入应用,各开发者迫切的希望能在全屏模式下应用&am…...
[Java基础] 运算符
[Java基础] 基本数据类型 [Java基础] Java HashMap 的数据结构和底层原理 目录 算术运算符 比较运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 常见面试题 Java语言支持哪些类型的运算符? 请解释逻辑运算符&&和&的区别? 请解释条件运…...

[001-02-018].第05节:数据类型及类型转换
我的后端学习大纲 我的Java学习大纲 1、数据类型介绍: 1.0.计算机存储单位: 1.1.基本数据类型介绍: a.整型:byte、short、int、long 1.整型包括:byte、short、int、long,可如下图方式类比记忆࿱…...

Netty基础
Netty基础 一级目录I/O请求基础知识Netty如何实现自己的I/O模型 网络框架的选型 Netty整体架构Netty逻辑处理架构网络通信层事件调度层服务编排层 组件关系梳理Netty源码结构 netty是目前最流行的一款高性能java网络编程框架,广泛使用于中间件、直播、社交、游戏等领…...
602,好友申请二:谁有最多的好友
好友申请二:谁有最多的好友 实现 with tmp as (selectrequester_id idfrom RequestAcceptedunion allselectaccepter_id idfrom RequestAccepted )selectid,count(*) num from tmp group by id order by num desc limit 1;...
【Matlab算法MATLAB实现的音频信号时频分析与可视化(附MATLAB完整代码)
MATLAB实现的音频信号时频分析与可视化 前言正文:时频分析实现原理代码实现代码运行结果图及说明结果图:结果说明:总结前言 音频信号的时频分析是信号处理领域中的一个重要研究方向。它允许我们同时观察信号在时间和频率域的特性,为音频处理、语音识别、音乐分析等应用提供…...

界面耻辱纪念堂--可视元素03
更多的迹象表明,关于在程序里使用新的动态界面元素,微软的态度是不确定的,其中一个是仅仅需要对比一下Office97 里的“Coolbars”和“标准工具条”。Coolbar 按钮直到用户指针通过的时候才成为按钮(否则是平的)。 工具…...

国产龙芯处理器选择迅为2K1000开发板有资料
硬件配置国产龙芯处理器,双核64位系统,板载2G DDR3内存,流畅运行Busybox、Buildroot、Loognix、QT5.12 系统!接口全板载4路USB HOST、2路千兆以太网、2路UART、2路CAN总线、Mini PCIE、SATA固态盘接口、4G接口、GPS接口WIF1、蓝牙、Mini HDMI…...
MySQL 命令(持续更新)
将 MySQL 命令结果输出到文件中 通过 k8s MySQL pod 里的客户端连接到 MySQL 服务器 kubectl exec mysql-pod -- mysql -hx.x.x.x -uroot -proot -e SELECT * FROM db.table; > result.txt通过 k8s MySQL pod 的客户端连接 MySQL 服务器,直接进入到 MySQL 客户端…...

Linux下Docker方式Jenkins安装和配置
一、下载&安装 Jenkins官方Docker仓库地址:https://hub.docker.com/r/jenkins/jenkins 从官网上可以看到,当前最新的稳定版本是 jenkins/jenkins:lts-jdk17。建议下在新的,后面依赖下不来 所以,我们这里,执行doc…...

低代码框架参考
企业管理信息系统作为一类重要的应用软件系统,具有自己的特点,主要有两个方面: 1. 系统规模大,目前市场上常见的ERP系统一般都有几千个页面。 2. 页面逻辑相似性强。经过比较可以发现,大部分页面具有类似的功能&…...

2024 年 9 月区块链游戏研报:行业回暖,Telegram 游戏引发热潮
作者:Stella L (stellafootprint.network) 数据来源:Footprint Analytics Games Research Page 9 月份,区块链游戏代币的市场总值增长了 29.2%,达到 232 亿美元,日活跃用户(DAU)数量上升了 1…...
python爬虫登录校验之滑块验证、图形验证码(OCR)
在爬虫过程中,验证码和滑块验证是常见的反爬措施。针对这些挑战,通常采用OCR识别图形验证码和模拟滑块拖动来处理滑块验证。以下是如何处理这两种类型验证的详细方法。 1. 图形验证码(OCR) a. 使用 tesserocr 和 Pillow 处理图形…...
(一)Python程序结构
1、Python写模块 使用缩进分层来写模块; 2、缩进规范 最好使用同一种缩进方式,统一使用tab或者空格键; 3、换行符:\n; print("窗前明月光\n疑似地上霜") 4、续行符号:\; 注意1…...

二叉树——相同的树
还是应用递归的思想,将这个问题拆分为三个部分,第一:当两棵树均为空树,或者访问到最后的子树时均为空树时,则返回true。第二:当两棵树中其中一棵树为空树,另一棵树不是空树,证明两棵…...
探秘 1688 商品详情接口:高并发批量采集的实战攻略
在进行 1688 商品详情接口批量采集并考虑高并发使用时,你可以从以下几个方面着手: 一、技术选型 选择合适的编程语言和框架:例如 Python 的 Scrapy 框架或者 Java 的 Spring Boot 结合相关爬虫库等,这些工具可以帮助你高效地实现…...
【C语言】sizeof
tmp_buf = (char *)malloc(size)不可以直接使用`sizeof`来查看动态分配内存的大小。在C语言中,`sizeof`操作符是在编译时确定类型或对象的大小,并不能用于动态获取malloc分配的内存大小。 下面解释为什么不能用`sizeof(tmp_buf)`查看动态分配的内存大小: 1. 编译时 vs 运行时…...
2024-10-15 问AI: [AI面试题] 人工智能中使用了哪些不同的搜索算法?
文心一言 人工智能中使用了多种不同的搜索算法来解决问题,这些算法各有特点,适用于不同的场景和问题类型。以下是一些常见的人工智能搜索算法: 深度优先搜索(DFS): 是一种基于树或图的搜索算法。核心思想是…...

2024 年 04 月编程语言排行榜,PHP 排名创新低?
编程语言的流行度总是变化莫测,每个月的排行榜都揭示着新的趋势。2024年4月的编程语言排行榜揭示了一个引人关注的现象:PHP的排名再次下滑,创下了历史新低。这种变化对于PHP开发者和整个技术社区来说,意味着什么呢? P…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7
在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤: 第一步: 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为: // 改为 v…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...

表单设计器拖拽对象时添加属性
背景:因为项目需要。自写设计器。遇到的坑在此记录 使用的拖拽组件时vuedraggable。下面放上局部示例截图。 坑1。draggable标签在拖拽时可以获取到被拖拽的对象属性定义 要使用 :clone, 而不是clone。我想应该是因为draggable标签比较特。另外在使用**:clone时要将…...