当前位置: 首页 > news >正文

docker的常规使用总结

不安装docker下载镜像,或者下载异构镜像,模拟docker客户端
https://pull.7ii.win/

1、启动docker服务

systemctl  start docker

设置开机自启

systemctl  enable docker

2、查看镜像

docker images

--查看下载镜像架构
docker inspect 镜像名字 | grep -i 'architecture'

查看镜像centos-vim

docker images | grep ubuntu-vim

#强制删除全部镜像文件
docker rmi -f $(docker images -aq)  
 

3、查看启动的镜像

docker ps

4、查看全部docker容器

docker ps -a

5、停止docker

docker stop  pid

停止所有docker

docker stop $(docker ps -a -q)

强制删除容器(有启动的服务也可以删除)

docker  rm -f pid

6、启动docker容器

docker  start pid

7、搜索镜像

docker  search  mysql:latest

搜索出100条,做多也只能100

docker search redis --limit 100

搜索不小于3星,描述不截断,镜像名中包含mysql的镜像
docker search --filter=stars=3 --no-trunc mysql

8、启动容器并自己编写一段shell脚本
[root@localhost ~]# docker run -d centos /bin/sh -c "while true;do echo cpf; sleep 1;done"

9、启动服务详解

Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  -a, --attach=[]            登录容器(以docker run -d启动的容器)
  -c, --cpu-shares=0         设置容器CPU权重,在CPU共享场景使用
  --cap-add=[]               添加权限,权限清单详见:http://linux.die.net/man/7/capabilities
  --cap-drop=[]              删除权限,权限清单详见:http://linux.die.net/man/7/capabilities
  --cidfile=""               运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法
  --cpuset=""                设置容器可以使用哪些CPU,此参数可以用来容器独占CPU
  -d, --detach=false         指定容器运行于前台还是后台 
  --device=[]                添加主机设备给容器,相当于设备直通
  --dns=[]                   指定容器的dns服务器
  --dns-search=[]            指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件
  -e, --env=[]               指定环境变量,容器中可以使用该环境变量
  --entrypoint=""            覆盖image的入口点
  --env-file=[]              指定环境变量文件,文件格式为每行一个环境变量
  --expose=[]                指定容器暴露的端口,即修改镜像的暴露端口
  -h, --hostname=""          指定容器的主机名
  -i, --interactive=false    打开STDIN,用于控制台交互
  --link=[]                    指定容器间的关联,使用其他容器的IP、env等信息
  --lxc-conf=[]              指定容器的配置文件,只有在指定--exec-driver=lxc时使用
  -m, --memory=""            指定容器的内存上限
  --name=""                  指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
  --net="bridge"             容器网络设置,待详述
  -P, --publish-all=false   指定容器暴露的端口,待详述
  -p, --publish=[]            指定容器暴露的端口,待详述
  --privileged=false        指定容器是否为特权容器,特权容器拥有所有的capabilities
  --restart=always         指定容器停止后的重启策略,待详述
  --rm=false                   指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
  --sig-proxy=true           设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
  -t, --tty=false            分配tty设备,该可以支持终端登录
  -u, --user=""              指定容器的用户
  -v, --volume=[]            给容器挂载存储卷,挂载到容器的某个目录 例如: -v 宿主机目录:容器目录
  --volumes-from=[]          给容器挂载其他容器上的卷,挂载到容器的某个目录
  -w, --workdir=""           指定容器的工作目录
  
--restart参数=
    no
        默认策略,在容器退出时不重启容器
    on-failure
        在容器非正常退出时(退出状态非0),才会重启容器
    on-failure:3
        在容器非正常退出时重启容器,最多重启3次
    always
        在容器退出时总是重启容器
#开机自启
    unless-stopped
        在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
# 一般推荐使用always参数
    --restart=always

示例: 启动一个容器,容器端口80映射到宿主机8787端口,停止后自动删除容器,把宿主当前执行命令pwd的目录挂载到容器/home/paddle

docker run -p 8787:80  --rm --env USER_PASSWD="123456" -v $PWD:/home/paddle registry.baidubce.com/paddlepaddle/paddle:2.5.2

10、更新容器

将正在运行的容器设为自启动    
# docker update --restart=always 容器名或容器ID
docker update --restart=always <CONTAINER ID>
# 例如将tomcat设为自启动
docker update --restart=always tomcat

将自启动的容器取消自启动
# docker update --restart=no 容器名或容器ID
docker update --restart=no <CONTAINER ID>
# 例如取消tomcat的自启动
docker update --restart=no tomcat

11、提交镜像

docker commit 0bd244689ed2 ubuntu-vim

OPTIONS说明

-a :提交的镜像作者;

-c :使用Dockerfile指令来创建镜像;

-m :提交时的说明文字;

-p :在commit时,将容器暂停。

将容器0bd244689ed2保存为新的镜像,并添加提交人信息和说明信息。

docker commit -a "runoob.com" -m "my apache" 0bd244689ed2 mymysql:v1


12、查看本地镜像的详细信息

docker inspect ubuntu-vim:afcaf46e8305

13、拉取镜像指定架构(amd、arm、arm64、x86、x64)

docker pull --platform=arm paddlepaddle/paddle

14、配置阿里镜像加速

容器镜像服务 (aliyun.com)

15、导入导出镜像

(1)save和load命令一组(使用save导出镜像就要使用load导入)

导出

docker save [options] images [images...]

docker save -o nginx.tar nginx:latest 

docker save > nginx.tar nginx:latest

导入

docker load -i nginx.tar

docker load < nginx.tar

(2)export和import命令(使用export导出镜像就要使用import导入)
export命令

docker export [options] container
示例

docker export -o xxx.tar base_mes_1.1
导出为tar

docker export  ID or  Name > /home/export.tar
1
其中-o表示输出到文件,xxx.tar为目标文件,base_mes_1.1是源容器名(name)

import命令

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
1
OPTIONS说明:

-c :应用docker 指令创建镜像;
-m :提交时的说明文字;
示例

docker import xxx.tar base_mes:1.1

相关文章:

docker的常规使用总结

不安装docker下载镜像&#xff0c;或者下载异构镜像&#xff0c;模拟docker客户端 https://pull.7ii.win/ 1、启动docker服务 systemctl start docker 设置开机自启 systemctl enable docker 2、查看镜像 docker images --查看下载镜像架构 docker inspect 镜像名字 |…...

CSS 文字弹跳效果

鼠标移过去 会加快速度 <template><div class"bounce"><p class"text" :style"{animationDuration: animationDuration}">欢迎使用UniApp Vue3&#xff01;</p></div> </template><script> export d…...

什么是动态IP?静态IP和动态IP有什么区别?

动态IP(Dynamic IP)和静态IP(Static IP)它是指在计算机网络中分配给设备的两种不同类型的IP地址。 动态IP是指每次设备连接到网络时&#xff0c;网络服务提供商(ISP)IP地址的动态分配。当设备重新连接到网络时&#xff0c;它可能会被分配到不同的IP地址。动态IP适用于传统的家…...

Linux 与 Shell

Linux系统的四部分&#xff1a;Linux系统的核心是内核。内核主要负责四种功能&#xff1a; 系统内存管理 操作系统内核的主要功能之一&#xff1a;内存管理。&#xff08;物理内存 虚拟内存&#xff09;内核通过硬盘上称为交换空间&#xff08;swap space&#xff09;的存储区…...

大数据-Hive练习-环比增长率、同比增长率、复合增长率

目录 &#x1f959;12.1 环比增长率 1. 概述 2. 公式 3. 示例 4.练习-需求:计算各类商品的月环比增长率 &#x1f959;12.2 同比增长率 1. 概述 2. 公式 3. 示例 4. 练习-需求:计算各类商品的月同比增长率 &#x1f959;12.3 复合增长率 1. 概述 2. 公式 3. 示例…...

C++ 考前难点总结

前言 后天考c&#xff0c;但这几天得甲流了&#xff0c;特别难受&#xff01;复习c的时候复习着忘着&#xff0c;所以用csdn记录一下不熟悉的知识点&#xff0c;等后天考前再看一遍&#xff01; 函数模板 #include <iostream>// 定义一个模板类 template <class T1…...

ARM 汇编语言知识积累

博文参考&#xff1a; arm中SP&#xff0c;LR&#xff0c;PC寄存器以及其它所有寄存器以及处理器运行模式介绍 arm平台根据栈进行backtrace的方法-腾讯云开发者社区-腾讯云 (tencent.com) 特殊功能寄存器&#xff1a; SP&#xff1a; 即 R13&#xff0c;栈指针&#xff0c;…...

k8s面试之——简述网络模型

kubernetes网络模型是kubernetes集群中管理容器网络通信的一种机制&#xff0c;用于实现pod间、pod与外部网络间的通信和互联&#xff0c;并提供了多种网络插件和配置选项来满足不同应用场景下的需求。kubernetes网络模型可以分为一下几个部分&#xff1a; 1. pod网络模型 在…...

C语言中关于if else的理解

if else我们可以理解为 if(条件1) //如果条件1成立 语句1&#xff1b; //执行语句1 else //如果条件1不成立 语句2; //执行语句2 这是一个经典的if els…...

Keil5软件仿真 定时器互补通道 波形输出(Logic Analyzer)

步骤一&#xff1a;管脚配置确认。 ①配置定时器的管脚模式为复用推挽输出模式&#xff08;GPIO_MODE_AF_PP&#xff09;&#xff01;&#xff01;&#xff01;&#xff0c;注意&#xff1a;复用开漏模式软件仿真时无波形。 步骤二&#xff1a;编译程序。 ①点击编译按钮。 …...

华纳云:怎么实现Linux主机ssh无密码登录

实现Linux主机之间的SSH无密码登录可以通过使用SSH密钥对。以下是简单的步骤&#xff1a; 步骤 1: 生成SSH密钥对 打开终端&#xff0c;并在本地计算机上执行以下命令&#xff1a; ssh-keygen -t rsa 此命令将生成一对SSH密钥(公钥和私钥)。您可以选择在生成密钥时设置密码&…...

模型树实操

很多时候&#xff0c;数据都是有层级和分类的&#xff0c;使用laravel的Dcat框架&#xff0c;可以快速搭建一个结构清晰、且可以鼠标拖拽排序的后台&#xff1b;先上例子更直观&#xff1a; 这里是Dcat的模型树使用文档&#xff0c;戳一下&#xff1b; 重点注意事项有&#x…...

html table+css实现可编辑表格

要实现可编辑的 HTML 表格&#xff0c;你可以使用 JavaScript 和 HTML5 的 contenteditable 属性。 <!DOCTYPE html> <html> <head><style>table {border-collapse: collapse;width: 100%;}th, td {border: 1px solid black;padding: 8px;text-align:…...

c语言:计算1+2+3……+n的和|练习题

一、题目 输入一个数n&#xff0c;计算123……n的和 二、代码截图【带注释】 三、源代码【带注释】 #include int main() { int num0; printf("请输入要运算的数:"); scanf("%d",&num); sumResult(num);//相加结果函数 } //计算打印…...

Yolov5水果分类识别+pyqt交互式界面

Yolov5 Fruits Detector Yolov5 是一种先进的目标检测算法&#xff0c;可以应用于水果分类识别任务。结合 PyQT 框架&#xff0c;可以创建一个交互式界面&#xff0c;使用户能够方便地上传图片并获取水果分类结果。以下将详细阐述 Yolov5 水果分类识别和 PyQT 交互式界面的实现…...

正式环境和sandbox中的RecordTypeId不一样应该怎么办

如果在 Salesforce 正式环境和 Sandbox 中&#xff0c;RecordTypeId 不一样&#xff0c;通常需要在代码或配置中进行适配&#xff0c;以确保代码在不同环境中的兼容性。以下是一些常见的方法&#xff1a; 使用自定义设置或自定义标签&#xff1a; 创建自定义设置或自定义标签来…...

7种常见的网络安全设备及其功能

网络安全设备在现代网络环境中起着至关重要的作用&#xff0c;帮助保护个人和组织免受恶意攻击。本文将介绍7种常见的网络安全设备&#xff0c;包括防火墙、入侵检测系统、反病毒软件、数据加密设备、虚拟私人网络、安全信息和事件管理系统以及网络访问控制设备&#xff0c;并详…...

vue3实现pinia仓库状态持久化

使用 pinia-plugin-persistedstate 实现pinia仓库状态持久化 安装 pnpm i pinia-plugin-persistedstate # or npm i pinia-plugin-persistedstate # or yarn add pinia-plugin-persistedstatemain.ts引入 import persist from pinia-plugin-persistedstate const app creat…...

Node.js(三)-模块的加载机制

1. 优先从缓存中加载 模块在第一次加载后会被缓存&#xff0c;这就意味着多次调用require()不会导致模块的代码被执行多次。 注意:不论是内置模块、用户自定义模块、还是第三方模块&#xff0c;它们都会优先从缓存中加载&#xff0c;从而提高模块的加载效率. 2. 内置模块的加…...

函数

1、概述 1.1、函数分类 1&#xff09;系统函数&#xff08;库函数&#xff09; 2&#xff09;用户定义函数 1.2、函数的作用 降低代码重复率让程序更加模块化&#xff0c;利于阅读、修改和完善 1.3、函数的调用&#xff1a;随机数 函数调用 5 要素&#xff1a; 头文件&…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机&#xff0c;交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息&#xff0c;系统版本&#xff1a;Ubuntu22.04.5 LTS&#xff1b;内核版本…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...