Docker-基础指令
前置知识
docker官网地址:https://www.docker.com/
docker镜像地址:https://hub.docker.com/
docker安装教程:https://docs.docker.com/engine/install/centos/
安装只需要注意将仓库源改为国内就好,推荐去阿里云注册自己的账号获得加速地址:
sudo yum-config-manager \--add-repo \http://mirrors.aliyun.com/ docker-ce/linux/centos/docker-ce.repo
docker 的基本组成 :镜像,容器,仓库
Docker运行的基本流程为:
1 用户是使用Docker Client与Docker Daemon建立通信,并发送请求给后者。
2 Docker Daemon作为Docker架构中的主体部分,首先提供Docker Server的功能使其可以接受Docker Client的请求。
3 Docker Engine执行Docker内部的一系列工作,每-项工作都是以一个Job的形式的存在。
4 Job的运行过程中,当需要容器镜像时,则从Docker Registry中下载镜像,并通过镜像管理驱动Graph driver将下载镜像以Graph的形式存
5 当需要为Docker创建网络环境时,通过网络管理驱动Network driver 创建并配置Docker容器网络环境。
6 当需要限制Docker容器运行资源或执行用户指令等操作时,则通过Exec driver来完成。
7 Libcontainer是一项独 立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行的操作。
基础篇
命令
- systemctl docker 指令
#启动docker
systemctl start docker
#停止docker
systemctl stop docker
#重启docker
systemctl restart docker
#查看docker状态
systemctl status docker
#开机自启动
systemctl enable docker
- docker 基础指令
docker version #查看版本
docker info #查看docker 的信息
#这两条指令是等价的
docker container ls #查看正在运行的容器
docker ps #查看正在运行的容器
docker ps -a #列出所有的容器包含退出的容器
docker create [镜像] #创建出容器并申请资源,但是没有运行需要docker start进行执行;docker run 这个指令包含了这两步的操作
docker logs -f ${container id} | ${container} #监控日志
#优雅的退出
docker stop <container id>
#立即退出
docker kill <container id>
#和docker 内部交互 已reids为例子
docker exec -it redis | <container id> redis-cli
#直接进入docker内部
docker exec -it redis | <container id> /bin/bash
关于docker
-i 代表使用interactive交互模式
-t 代表模拟tty功能。TTY 代表TeleTYpewriter电报打字机,代表着我们的终端。-t参数会启动终端的一些功能。
- 镜像(images)
#搜索是否有mysql镜像
docker search mysql
#查找用的最多的镜像top5
docker search --limit 5 mysql
#拉取一个镜像
docker pull ubuntu:20.04
#将镜像推送到仓库
docker image push demo:2.0
#查看镜像/容器的数据卷大小
docker system df
#列出本地所有镜像
docker images
#删除镜像ubuntu:20.04
docker image rm ubuntu:20.04
docker rmi ubuntu:20.04
#创建某个container的镜像 参数分别容器或容器ID 版本号
docker commit redis redis:comm #images 会多一个 redis:comm
#将镜像ubuntu:20.04导出到本地文件ubuntu_20_04.tar
docker save -o ubuntu_20_04.tar ubuntu:20.04
#将镜像ubuntu:20.04从本地文件ubuntu_20_04.tar中加载出来
docker load -i ubuntu_20_04.tar
#查看镜像的源信息
docker image inspect redis
#虚悬镜像
#虚悬镜像就是没有仓库和tag的镜像。
```bash
docker images ls -f dangling=true 列出虚悬镜像
docker image prune 删除虚悬镜像
- 容器(container)
```shell
# 创建一个镜像的容器但是并不会启动需要使用 docker start 进行后续的启动
docker create redis
# 查看本地的所有容器
docker ps -a
#启动容器
docker start <container id> | name #| 表示或者写容器的名称
#停止容器
docker stop <container id> | name
#重启容器
docker restart <container id> | name
#创建并启动一个容器
docker run -itd ubuntu:20.04
#删除容器
docker rm <container id> | name
#删除所有已停止的容器
docker container prune
# 查看容器的信息
docker inspect <container id>
#将容器CONTAINER导出到本地文件xxx.tar.gz中
docker export -o <container id> | name
#将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tag
docker import -o redis.tar.gz redis:customdocker export/import与docker save/load的区别:
export/import会丢弃历史记录和元数据信息,仅保存容器当时的快照状态
save/load会保存完整记录,体积更大#查看某个容器内的所有进程
docker top <container id> | name
#查看所有容器的统计信息,包括CPU、内存、存储、网络等信息
docker stats
#在本地和容器间复制文件
docker cp xxx CONTAINER:xxx 或 docker cp CONTAINER:xxx xxx
#将reids中的/data/dump.rdb 复制到本地
docker cp redis:/data/dump.rdb ./
#将demo.txt 复制到redis 目录/data中
docker cp demo.txt redis:/data
#重命名容器
docker rename redis newredis
#修改容器限制
docker update CONTAINER --memory 600MB
#这样就可以提交当前的容器为镜像存到镜像仓库中,相当于对原来的镜像做了拓展
docker commit -m "提交描述信息" 容器id demo:1.0
#过滤容器
docker ps -a -f 'exited=137'
#组合使用
docker rm $(docker ps -a -f 'exited=137');
docker stop $(docker ps -a -f 'exited=137');
相关文章:
Docker-基础指令
前置知识 docker官网地址:https://www.docker.com/ docker镜像地址:https://hub.docker.com/ docker安装教程:https://docs.docker.com/engine/install/centos/ 安装只需要注意将仓库源改为国内就好,推荐去阿里云注册自己的账号获得加速地址…...
JUC-Java内存模型JMM
JMM概述 Java Meory Model java内存模型。在不同的硬件和不同的操作系统上,对内存的访问方式是不一样的。这就造成了同一套java代码运行在不同的操作系统上会出问题。JMM就屏蔽掉硬件和操作系统的差异,增加java代码的可移植性。这是一方面。 另一方面JM…...
uni-app使用HBuilderX打包Web项目
非常简单,就是容易忘记 一、找到manifest.json配置Web配置 二、源码视图配置 "h5" : {"template" : "","domain" : "xxx.xx.xx.xxx","publicPath" : "./","devServer" : {&quo…...
前后置、断言、提取变量、数据库操作功能
前置操作和后置操作都是 API 请求在发送和响应过程中执行的脚本,主要用于在发起 API 请求前和获得响应后完成验证或执行某些操作,目的是为了提高 API 调试和测试的效率,并确保接口的正确性。 前置操作 前置操作是在 API 请求之前执行的脚本…...
三子棋/井字棋(C语言)
这个游戏需要用到三个文件 game.h头文件用来申明函数和导包 game.h如下: #pragma once #define ROW 3 #define COL 3 #include <stdlib.h> #include <time.h> #include <stdio.h>//初始化棋盘的函数void InitBoard(char board[ROW][COL], int row, int co…...
数据结构小项目----通讯录的实现(这里用链表实现) 超详细~~~~૮(˶ᵔ ᵕ ᵔ˶)ა
目录 Contact.h说明: 结构体与头文件的包含: 编辑 函数在头文件的声明与定义: Contact.c中各个函数的实现: 1.检查链表中的数据是否满了,满了就扩容 2.链表的尾插 3.链表的删除 4.查找名字是否匹配 5.初始化通讯…...
Electron Apple SignIn 登录
本人写博客,向来主张:代码要完整,代码可运行,文中不留下任何疑惑。 最讨厌写博客,代码只留下片段,文中关键的东西没写清楚。之前看了那么多文章,就是不告诉我clientId从哪来的。 官方资料地址&…...
常用中间件漏洞
IIS6 IIS7 安装 控制面板-----打开关闭windows功能 添加角色-----添加IIS 启动之后访问localhost 复现 服务器换成IIS7 访问报错 大概就是缺少CGI模块 问题解决 添加php-cgi的路径 添加脚本映射 修改php.ini文件 将 cgi.fix_pathinfo1 然后设置一个图片 访问 在后缀加上/.…...
Windows系统使用手册
点击前往查看🔗我的博客文章目录 Windows系统使用手册 文章目录 Windows系统使用手册Windows10解决大小核调度问题Windows系统安装软件Windows系统Typora快捷键Windows系统压缩包方式安装redisWindows安装dockerWindows系统的docker设置阿里源Windows系统下使用doc…...
mp4文件可以转成mp3音频吗
现在是个非常流行刷短视频一个年代,刷短视似乎成了人们休闲娱乐的一种方式,在日常刷短视频过程中,肯定会有很多同学被短视频 bgm 神曲洗脑,比如很多被网红翻唱带火的歌曲,例如其中"不负人间”,就是其中…...
Java-IO流【登录注册小项目】
♥️作者:白日参商 🤵♂️个人主页:白日参商主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油!…...
数字化金融时代:探讨全球金融科技创新的最新动态
在当今数字化金融时代,金融科技创新如影随形,迅猛发展。本文将深入探讨全球范围内金融科技的最新动态,剖析各地新兴趋势与突破。从区块链技术的应用到人工智能在金融领域的崭露头角,我们将一一解读这个正在不断演变的金融科技画卷…...
LeetCode:206. 反转链表
力扣链接 算法思想:由于单链表是单向的,想要对当前元素进行操作,需找到前一个元素。本题利用双指针,初始pre指针指向NULL,cur指针指向head.再对局部翻转之前,先把下一个结点存到temp指针中。当进行完如下代…...
linux 安装nginx
介绍 官网 https://nginx.org/en/download.html 在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel linux 检查是否安装过某软件包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel #下载 wget https://nginx.org/downloa…...
1.C语言——基础知识
C语言基础知识 1.第一个C语言程序2.注释3.标识符4.关键字5.数据类型6.变量7.常量8.运算符9.输入输出输入输出 1.第一个C语言程序 C语言的编程框架 #include <stdio.h> int main() {/* 我的第一个 C 程序 */printf("Hello, World! \n");return 0; }2.注释 单行…...
Redis 存在线程安全问题吗?为什么?
一个工作了 5 年的粉丝私信我。 他说自己准备了半年时间,想如蚂蚁金服,结果第一面就挂了,非常难过。 问题是: “Redis 存在线程安全问题吗?” 一、问题解析 关于这个问题,我从两个方面来回答。 第一个&a…...
无人机测绘助力实现高效、安全的城市规划
随着城市化进程的不断加快,城市规划显得尤为重要。而无人机测绘技术作为一种创新的工具,为城市规划提供了更加高效、安全的解决方案。它通过快速、精确的数据采集和分析,为行业提供有力的决策支持,助力城市规划的现代化和可持续发…...
实验七 RMAN恢复管理器
🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易,你的👍点赞🙌收藏❤️关注对我真的很重要&…...
未来 AI 可能给哪些产业带来哪些进步与帮助?
AI时代如何要让公司在创新领域领先吗?拥抱这5种创新技能,可以帮助你的公司应对不断变化。包括人工智能、云平台应用、数据分析、 网络安全和体验设计。这些技能可以帮助你提高业务效率、保护公司知识资产、明智决策、满足客户需求并提高销售额。 现在就加…...
Java医院信息管理系统
技术框架: springboot shiro layui jquery thymeleaf nginx 有需要的可以联系我。 运行环境: jdk8 mysql IntelliJ IDEA maven项目功能: 本项目是用springbootlayuishiro写的医院管理系统,系统的业务比较复杂&#x…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
