docker 学习之路

在这里插入图片描述


文章目录

  • 1、官方文档
  • 2、常用命令
    • 挂载
    • Docker容器内运行的脚本或命令
    • 常用
  • 3、介绍
  • 4、Dockerfile
  • 5、问题
  • 6、链接


1、官方文档

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Reference documentation | Docker Documentation
docker | Docker Documentation

2、常用命令

Docker 容器的一些命令按功能分类大致如下:

Docker环境信息 info、version
   
镜像仓库命令 login、logout、pull、push、search
   
镜像管理 build、images、import、load、rmi、save、tag、commit
   
容器生命周期管理 create、exec、kill、pause、restart、rm、run、start、stop、unpause
   
容器运维操作 attach、export、inspect、port、ps、rename、stats、top、wait、cp、diff、update
   
容器资源管理 volume、network
   
系统信息日志 events、history、logs
    1. events打印容器的实时系统事件
    2. history 打印出指定镜像的历史版本信息
    3. logs打印容器中进程的运行日志
   
docker --help #查看docker命令
docker info #docker 详细信息,镜像和容器
docker version #查看docker版本

挂载

docker run -it -v /home/test:/home centos /bin/bash

dockers run -v /容器外部文件夹路径:容器内部文件夹路径 -v 容器外部文件夹路径:容器内部文件夹路径 … …
   
设置容器内文件权限:
:ro #只读,只能通过宿主机来操作文件,容器内部无法操作!
:rw #可读可写, 默认

Docker容器内运行的脚本或命令

docker run bash -c的语法格式和参数

docker run [OPTIONS] IMAGE_NAME bash -c "COMMAND"

常用

# 帮助
docker run --help# exec:进入容器后,开启一个新的终端,可以再里面操作
docker exec -it 容器id bashShell(/bin/bash)
# attach:进入容器正在执行的终端,不会启动新的终端进程
docker attach 容器id bashShell(/bin/bash)
# 容器内拷贝文件到主机
docker cp 容器id:容器内路径  目的主机路径# ==========================================================
#新建并启动容器,参数:-i  以交互模式运行容器;-t  为容器重新分配一个伪输入终端;--name  为容器指定一个名称
docker run -i -t --name mycentos 镜像名称/镜像ID
docker run -it -v /home/test:/home ubuntu:22.04 /bin/bash
docker run -it -v /home/test:/home:ro ubuntu:22.04 /bin/bash#后台启动容器,参数:-d  已守护方式启动容器
docker run -d mycentos-t 参数让Docker分配一个伪终端并绑定到容器的标准输入上
-i 参数则让容器的标准输入保持打开。
-c 参数用于给运行的容器分配cpu的shares值
-m 参数用于限制为容器的内存信息,以 B、K、M、G 为单位
-v 参数用于挂载一个volume,可以用多个-v参数同时挂载多个volume
-p 参数用于将容器的端口暴露给宿主机端口 格式:host_port:container_port 或者 host_ip:host_port:container_port
--name 容器名称
--net 容器使用的网络
-d 创建一个后台运行容器
--privileged 使容器具有root权限进行进程fork#使用run方式在创建时进入
docker run -it centos /bin/bash
#关闭容器并退出
exit# ==========================================================
#启动止容器
docker start 容器id
# 重启容器
docker restart 容器id
# 关闭容器
docker kill 容器id
docker stop 容器id# 查看正在运行的容器
docker ps
# 查看所有容 包括停止的容器
docker ps -a
# -q参数,只显示container id
docker ps -q
# 查看容器详细信息
docker inspect demo1docker images -a            #列出本地所有的镜像
docker images -q            #只显示镜像ID
docker images --digests     #显示镜像的摘要信息
docker images --no-trunc    #显示完整的镜像信息# 保存镜像  -a 提交人的姓名  -m “提交内容”,格式如:docker  commit  -a  -m  现有容器ID     保存后的名称:版本号
docker commit  7ca736d99653    yolov5:v6.2 
docker commit -a "xiaoming"   -m "Update target detection model" 7ca736d99653    yolov5:v6.2
# 打包tar docker save -o  tar文件名称     镜像REPOSITORY:TAG
docker save -o yolov5-v6.2.tar yolov5:v6.2
# 加载tar镜像
docker load -i yolov5-v6.2.tar
# ==========================================================
# 查看redis容器日志,默认参数
docker logs tomcat
# 查看redis容器日志,参数:-f  跟踪日志输出;-t   显示时间戳;--tail  仅列出最新N条容器日志;
docker logs -f -t --tail=20 redis
# 查看容器redis从2021年08月10日后的最新10条日志。
docker logs --since="2021-08-10" --tail=10 redis# ==========================================================
docker search tomcat    # 从Docker Hub上查找tomcat镜像
STARS:                 # 关注度
docker search --filter=stars=300 tomcat     #从Docker Hub上查找关注度大于300的tomcat镜像docker pull tomcat      #从Docker Hub上下载tomcat镜像,默认是最新版本。等价于:docker pull tomcat:latest
docker pull tomcat:8  # 选择指定版本下载# ==========================================================
#单个镜像删除,相当于:docker rmi java:latest
docker rmi java
#强制删除(删除正在运行的镜像,注:以后台方式运行的不能被强制删除)
docker rmi -f java
#多个镜像删除,不同镜像间以空格间隔
docker rmi -f java tomcat nginx
#删除本地全部镜像
docker rmi -f $(docker images -q)

docker 常用命令
Docker 的挂载 -v参数 - 知乎

3、介绍

docker保存的镜像在哪儿
5步搞定 Windows 10 docker WSL2的镜像存储位置的修改

docker四种网络模式
Docker四种网络模式

docker修改容器网络模式
Docker 【网络】配置dns
Docker的网络配置 2 配置 DNS和主机名

4、Dockerfile

docker保存镜像、打包tar、加载tar镜像
Dockerfile详解超全
Dockerfile文件全面详解
Dockerfile制作镜像
使用DockerFile来制作镜像

5、问题

docker 中遇到fork/exec /bin/sh: operation not permitted错误
解决docker容器无网络、无法连接互联网----长期更新

6、链接

Docker 和 Podman的区别

   
 

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

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

相关文章

基于 Paimon 的袋鼠云实时湖仓入湖实战剖析

在当今数据驱动的时代,企业对数据的实施性能力提出了前所未有的高要求。为了应对这一挑战,构建高效、灵活且可扩展的实时湖仓成为数字化转型的关键。本文将深入探讨袋鼠云数栈如何通过三大核心实践——ChunJun 融合 Flink CDC、MySQL 一键入湖至 Paimon …

我用低代码平台自己搭建了一套MES应用系统,1天搞定!

MES系统是什么 MES系统是一套面向制造企业车间执行层的生产信息化管理系统。它能够为操作人员和管理人员提供计划的执行、跟踪以及所有资源(包括人、设备、物料、客户需求等)的当前状态。通过MES系统可以对从订单下达到产品完成的整个生产过程进行优化管…

Intellij Idea显示回退和前进按钮的方法

方法1 使用快捷键&#xff1a; 回到上一步 ctrl alt <-&#xff08;左方向键&#xff09;回到下一步 ctrl alt ->&#xff08;右方向键&#xff09; 方法2&#xff1a; Preferences -> Appearance & Behavior -> Menus and Toolbars -> Navigation B…

生信技能50 - 本地构建Clinvar数据库VCF变异位点快速搜索功能

1. Clinvar数据库文件下载 参考本人文章: 生信技能40 - Clinvar数据库VCF文件下载和关键信息提取 # 下载GRCh37 vcf wget -c -b https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh37/clinvar_20240624.vcf.gz wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh37/…

森林草原火险因子综合监测系统解决方案

一、概述 根据应急管理部和国家统计局发布的数据&#xff0c;2023 年全国共接报火灾 74.5 万起&#xff0c;其中森林火灾 328 起&#xff0c;共发生草原火灾 15 起。为应对这一严峻挑战我国正面临着森林草原火险的严重威胁。森林火灾不仅对生态文明建设构成严重威胁&#xff0c…

顶顶通呼叫中心中间件-透传uuid并且导入对端变量到本端(mod_cti基于Freeswitch)

一、配置拨号方案 win-ccadmin配置方法 点击拨号方案 -> 点击进入排队 -> 根据图中配置。如果不是排队转人工是机器人转人工那么就是在机器人那个拨号方案配置&#xff0c;并且需要配置在"cti_robot"之前即可 action"set" data"sip_h_X_tas…

第2章.现场设备的物联网模式--设备网关

第2章.现场设备的物联网模式 本章列出了与现场设备或事物相关的关键模式。阅读本章后&#xff0c;您将能够识别物联网架构中这些模式的存在。它提供了有关模式适合或适用的场景的详细信息&#xff0c;以及需要考虑的约束。这将帮助您相对轻松地理解现有的物联网架构。 本章涵盖…

【论文阅读】Answering Label-Constrained Reachability Queries via Reduction Techniques

Cai Y, Zheng W. Answering Label-Constrained Reachability Queries via Reduction Techniques[C]//International Conference on Database Systems for Advanced Applications. Cham: Springer Nature Switzerland, 2023: 114-131. Abstract 许多真实世界的图都包含边缘标签…

腾讯云TI平台的大模型精调解决方案

腾讯云TI平台的大模型精调解决方案 随着人工智能和大数据技术的快速发展&#xff0c;大模型在各行各业的应用日益广泛。然而&#xff0c;大规模模型的训练和部署面临着诸多挑战&#xff0c;包括训练资源的高效利用、模型训练的稳定性和国产化适配需求。腾讯云TI平台凭借其强大…

从@Param注解开始,深入了解 MyBatis 参数映射的原理

系列文章目录 MyBatis缓存原理 Mybatis plugin 的使用及原理 MyBatisSpringboot 启动到SQL执行全流程 数据库操作不再困难&#xff0c;MyBatis动态Sql标签解析 Mybatis的CachingExecutor与二级缓存 使用MybatisPlus还是MyBaits &#xff0c;开发者应该如何选择&#xff1f; 巧…

js异常处理方案

文章目录 异常处理方案同步代码的异常处理Promise 的异常处理async await 的异常处理 感谢阅读&#xff0c;觉得有帮助可以点点关注点点赞&#xff0c;谢谢&#xff01; 异常处理方案 在JS开发中&#xff0c;处理异常包括两步&#xff1a;先抛出异常&#xff0c;然后捕获异常。…

AI在创造还是毁掉一些东西

今天突然闪现一个念头&#xff0c;AI真的能带来进步吧。AI能个我们带来什么&#xff1f; 突发这个想法的原因是早上乘车的时候看到一个7,8岁的小孩脖子上带了AI学习机。我在想&#xff0c;小孩都通过AI来学习了&#xff0c;还能提升创造吗&#xff1f;这引起了我的担忧。也许AI…

关于0xc000007b的一种解决方案

今天我在安装qview并运行时时&#xff0c;遇到了这个问题。 我在网上查找了许多解决方案&#xff0c;但它们大多都说是某些dll缺失或错误引起的。 这些说法应该是正确的&#xff0c;但我用了dll修复工具后&#xff0c;一点用都没有。 后来捣鼓半天后&#xff0c;我发现很可能…

模拟实现string【C++】

文章目录 全部的实现代码放在了文章末尾准备工作包含头文件定义命名空间和类类的成员变量 构造函数默认构造拷贝构造 重载赋值拷贝函数析构函数迭代器和获取迭代器迭代器获取迭代器 resize【调整size】图解 reserve【调整capacity】empty【判断串是否为空】operator[]appendpus…

高中数学:复数-基础概念及运算法则

一、定义 规定 复数集与实数集之间的关系 二、复数的几何意义 第一种几何意义 第二种几何意义 复数向量的模 共轭复数 三、四则运算 加法 复向量加法 减法 两复数的距离 乘法 除法 四、总结 复数的所有运算法则和实数相同。 向量运算和实数向量运算相同。 怎么简便记忆了&a…

Java SE入门及基础(58) 并发 进程与线程概念

目录 并发 进程和线程 1. 进程和线程 2. 进程 3.线程 总结 并发 并发(Concurrency) Computer users take it for granted that their systems can do more than one thing at a time. They assume that they can continue to work in a word processor, while other app…

大模型火了一年半,AI还在「钻木取火」?

伴随着AI大模型的新一轮进化&#xff0c;这个夏天&#xff0c;人工智能正在引领一波新的热潮。 美国当地时间6月18日&#xff0c;AI大模型的主要显卡芯片供应商英伟达收涨3.51%&#xff0c;市值升至3.34万亿美元&#xff0c;一度超越微软和苹果等科技巨头&#xff0c;成为全球…

ElasticSearch中的BM25算法实现原理及应用分析

文章目录 一、引言二、BM25算法实现原理BM25算法的实现原理1. 词频&#xff08;TF&#xff09;&#xff1a;2. 逆文档频率&#xff08;IDF&#xff09;&#xff1a;3. 长度归一化&#xff1a;4. BM25评分公式&#xff1a; BM25算法示例 三、BM25算法在ElasticSearch中的应用分析…

在 Java 中的使用Selenium 测试框架

Selenium 测试框架&#xff1a;在 Java 中的使用 Selenium 测试框架就是这样一个强大的工具&#xff0c;它为 Web 应用的自动化测试提供了全面且高效的解决方案。 一、Selenium 简介 Selenium 是一个开源的自动化测试工具集&#xff0c;专门用于测试 Web 应用程序。它支持多…

数据结构:队列详解 c++信息学奥赛基础知识讲解

目录 一、队列概念 二、队列容器 三、队列操作 四、代码实操 五、队列遍历 六、案例实操 题目描述&#xff1a; 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 详细代码&#xff1a; 一、队列概念 队列是一种特殊的线性…