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

docker基本概念和相关命令

!!! 前面都是概念东西,可以直接跳到Docker命令就可以了(直接搜吧“Docker命令”,页内无法跳转,还在研究中……)

容器和虚拟化

容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机操作系统中,在用户空间以分离的进程运行,容器可以理解为一个轻量级的沙箱
例如应用容器tomcat,就是把应用程序放到tomcat容器中,应用程序在容器中运行,通过容器暴露的端口,访问容器中的应用容器是操作系统层实现的运行环境封装虚拟化的概念,常用的虚拟机,例如VMWare和OpenStack
每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给它的资源将全部被占用
虚拟机是硬件支持加虚拟化技术实现的运行环境封装

理解Docker

我们造一间房子,需要设计图纸、搅拌水泥、搬砖头、砌墙......,然后才能把房子造好
下次换个地方造房子,上面的步骤需要再来一遍,非常麻烦。
假设我们有一种神奇的方式,可以把之前造的房子拷贝一份,然后把这个拷贝放到背包里,
带到新的需要造房子的地方,用这个拷贝复制出一间一模一样的新房子。这样就可以快速造出一模一样、分毫不差的房子了这种神奇的方式就是Docker容器技术。房子的拷贝就是镜像(Image),放拷贝的背包就是仓库(Repository),用拷贝造出的新房子就是容器(Container)。docker就是进程封装。启动一个docker容器就是启动一个封装的进程

Docker简介

<https://docs.docker.com/engine/install/centos/>Docker是一个开源的应用容器引擎,基于GO语言开发
Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
用于创建、管理和编排容器Docker可以理解为是一个超轻量级的虚拟机
相较于传统的VM虚拟化方法,Docker的好处是启动速度快,资源利用率高,性能开销小Docker使用的是C/S结构,即客户端/服务端体系结构
Docker客户端与Docker服务端进行交互,Docker服务端负责构建、运行和分发Docker镜像

Docker应用场景

web应用的自动打包和发布
自动化测试和持续集成、发布
在服务型环境中部署和调整数据库或其他的后台应用

Docker使用

docker --version
docker system info

Docker命令

# 启动dockersystemctl start docker
# 列出了本地 Docker 主机上存储的镜像docker image ls# 检查 Docker 是否正在运行docker version# 启动容器(tomcat,redis)docker run --name tomcat -P -d tomcatdocker run -p 6379:6379 -d redis# 删除实例docker rmi 容器id或者镜像名用-f强制删除# 启动一个已经停止的容器实例docker start 容器ID或容器名# 停止一个正在运行的容器docker stop 容器ID或容器名# 查看正在运行的容器信息docker ps# 列表列出所有的容器及运行情况docker stats# 清理残存一些临时的的镜像docker image prune# 拉取镜像docker pull 镜像名# 退出容器终端,不会导致容器的停止docker execdocker exec -it 43f7a65ec7f8 redis-cli# docker search 命令来搜索镜像# docker查看日志记录docker logs 容器ID或容器名# 查看有什么容器,并重新启动docker ps -adocker restart 4a8967b962ca# 重启dockersystemctl start docker

Docker组成

Client客户端
Daemon守护进程
Image镜像
Container容器

Docker安装

Docker 要求 CentOS 系统的内核版本高于 3.10
uname -r移除旧的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

docker ps里面的字段名称

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMESCONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。状态有7种:created(已创建)restarting(重启中)running 或 Up(运行中)removing(迁移中)paused(暂停)exited(停止)dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。

其他

# 以下命令创建一个以进程方式运行的后台模式容器docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"需要确认容器有在运行,可以通过 docker ps 来查看:通过运行 exit 命令或者使用 CTRL+D 来退出容器运行交互式的容器docker run -i -t ubuntu:15.10 /bin/bash-t: 在新容器内指定一个伪终端或终端。i: 允许你对容器内的标准输入 (STDIN) 进行交互。docker run -itd --name ubuntu-test ubuntu /bin/bash加了 -d 参数默认不会进入容器想要进入容器docker attach使用 docker exec 命令,退出容器终端,不会导致容器的停止。如果要导出本地某个容器,可以使用 docker export 命令docker export 1e560fca3906 > ubuntu.tar(导出容器 1e560fca3906 快照到本地文件 ubuntu.tar)
导入容器快照使用 docker import 从容器快照文件中再导入为镜像cat docker/ubuntu.tar | docker import - test/ubuntu:v1(将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1)

相关文章:

docker基本概念和相关命令

!!! 前面都是概念东西&#xff0c;可以直接跳到Docker命令就可以了(直接搜吧“Docker命令”&#xff0c;页内无法跳转&#xff0c;还在研究中……) 容器和虚拟化 容器包含应用和其所有的依赖包&#xff0c;但是与其他容器共享内核。容器在宿主机操作系统中&#xff0c;在用户…...

43. 间断连续登录用户问题

文章目录 题目需求思路一实现一题目来源 题目需求 现有各用户的登录记录表&#xff08;login_events&#xff09;如下&#xff0c;表中每行数据为&#xff1a;一个用户何时登录了平台。 现要求统计各用户最长的连续登录天数&#xff0c;间断一天也算作连续&#xff0c;例如&a…...

Visual Studio Code 编辑器实用插件简介

Visual Studio Code 编辑器插件 以下是一些常用的 Visual Studio Code 编辑器插件及其简短描述&#xff1a; 2gua.rainbow-brackets&#xff1a;在括号周围添加彩虹色的边框&#xff0c;以帮助区分不同层次的括号。adpyke.codesnap&#xff1a;将代码片段转换为漂亮的图片&am…...

微信小程序之Image那些事

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、使用场景二、使用方式1.动态读取image大小2.动态设置style3.动态赋值 总结 前言 小程序中 Image使用频率是非常高的 不同场景下 Image使用的属性也不一样 …...

【MySQL】不就是子查询

前言 今天我们来学习多表查询的下一个模块——子查询&#xff0c;子查询包括了标量子查询、列子查询、行子查询、表子查询&#xff0c;话不多说我们开始学习。 目录 前言 目录 一、子查询 1. 子查询的概念 2. 子查询语法格式 2.1 根据子查询结果不同可以分为&#xff1a;…...

gpt4实现对摄像头帧缓冲区图像的LAB阈值选择界面(python-opencv)

代码全是GPT4写的&#xff0c;我就提出Prompt和要改的地方而已。 图形界面效果 可复制阈值&#xff1a;(xxx, xxx, xxx, xxx, xxx, xxx) 代码 import cv2 import numpy as np import time from tkinter import * from PIL import Image, ImageTk import pyperclip # new# G…...

Stable Diffusion WebUI 集成 LoRA模型,给自己做一张壁纸 Ubuntu22.04 rtx2060 6G

LoRA概念 LoRA的全称是LoRA: Low-Rank Adaptation of Large Language Models&#xff0c;可以理解为stable diffusion&#xff08;SD)模型的一种插件&#xff0c;和hyper-network&#xff0c;controlNet一样&#xff0c;都是在不修改SD模型的前提下&#xff0c;利用少量数据训…...

Flink 读写Kafka总结

前言 总结Flink读写Kafka Flink 版本 1.15.4 Table API 本文主要总结Table API的使用&#xff08;SQL&#xff09;&#xff0c;官方文档&#xff1a;https://nightlies.apache.org/flink/flink-docs-release-1.17/zh/docs/connectors/table/kafka/ kerberos认证相关配置 …...

LiDAR SLAM 闭环——BoW3D论文详解

标题&#xff1a;BoW3D: Bag of Words for Real-Time Loop Closing in 3D LiDAR SLAM 作者&#xff1a;Yunge Cui,Xieyuanli Chen,Yinlong Zhang,Jiahua Dong,Qingxiao Wu,Feng Zhu 机构&#xff1a;中科院沈阳自动化研究所 来源&#xff1a;2022 RAL 现算法已经开源&#…...

Android NTP时间同步源码分析

Android NTP时间同步源码分析 Android系统设置自动时间后&#xff0c;如果连接了可用的网络。会同步网络时间。这个处理是 NetworkTimeUpdateService完成的。某些定制化的系统&#xff0c;需要禁止网络时间同步。比如仅仅使用GPS时间。基于Android9&#xff0c;分析一下 Andro…...

数据库之MySQL字符集与数据库操作

目录 字符集 CHRARCTER SET 与COLLATION的关联 CHRARCTER SET 定义 基础操作 查看当前MySQL Server支持的 CHARACTER SET 查看特定字符集信息&#xff08;主要包含默认的COLLATION 与 MAXLEN&#xff09; COLLATION 定义 COLLATION后缀 基础操作 查看MySQL Server支持的…...

搜索引擎概念解析

搜索引擎概念解析 什么是搜索引擎 MySQL搜索引擎举例 搜索引擎是一种用于在互联网上搜索并呈现相关信息的工具。它通过自动扫描和索引大量网页内容&#xff0c;并根据用户提供的关键词或查询条件&#xff0c;返回与之相关的网页链接和摘要。 当用户在搜索引擎中输入关键词或…...

网页链接投票链接步骤公众号投票链接制作制作投票

大家在选择投票小程序之前&#xff0c;可以先梳理一下自己的投票评选活动是哪种类型&#xff0c;目前有匿名投票、图文投票、视频投票、赛事征集投票等。 我们现在要以“笛乐悠扬”为主题进行一次投票活动&#xff0c;我们可以在在微信小程序搜索&#xff0c;“活动星”投票小程…...

【通信安全CACE-管理类基础级】第7章 安全运维

资源 中国通信企业协会网络安全人员能力认证考试知识点大纲 中国通信企业协会网络安全人员能力认证管理类基础级考试课件 中国通信企业协会网络安全人员能力认证考试管理类基础级复习资料 中国通信企业协会网络安全人员能力认证考试管理类基础级模拟题 系列文章 【通信安全CAC…...

随手笔记——将ROS图像话题转为OpenCV图像格式处理后再转为ROS图像话题发布(Python版)

随手笔记——将ROS图像话题转为OpenCV图像格式处理后再转为ROS图像话题发布&#xff08;Python版&#xff09; 说明关键函数代码 说明 将ROS图像话题转为OpenCV图像格式处理后再转为ROS图像话题发布&#xff0c;主要通过CvBridge的cv2_to_imgmsg和imgmsg_to_cv2函数&#xff0…...

Win11系统如何安装Oracle数据库(超级详细)

前言&#xff1a;在我们安装Oracle之前我们得理解Oracle数据库的优点是什么&#xff1a; Oracle是一个功能强大、可扩展和全面的数据库平台&#xff0c;具有广泛的功能和企业级能力&#xff0c;适用于处理复杂的企业级应用和大型数据集。 目录 一.下载Oracle数据库软件&…...

【代理服务器】Squid 反向代理与Nginx缓存代理

目录 一、Squid 反向代理1.1工作机制1.2反向代理实验1.3清空iptables规则&#xff0c;关闭防火墙1.4验证 二、使用Nginx做反向代理缓存服务器三CDN简介3.1什么是CDN3.1CDN工作原理 一、Squid 反向代理 如果 Squid 反向代理服务器中缓存了该请求的资源&#xff0c;则将该请求的…...

目标检测之遮挡物体检测

一、遮挡的类别 类内遮挡&#xff0c;目标被同一类别的目标遮挡类间遮挡&#xff0c;目标被其它类别的目标遮挡 二、解决方法 数据标注 精调遮挡目标的GT边界框 数据增强 cutout&#xff1a;在训练时&#xff0c;随机mask目标&#xff0c;提升模型对遮挡的应对能力mosaic…...

Vim 命令大全

文章目录 Vim 命令大全移动光标编辑文本查找和替换保存和退出打开多个文件&#xff1a;在文件之间切换&#xff1a;打开新窗口切换窗口其他常用命令 Vim 命令大全 移动光标 h: 左移光标j: 下移光标k: 上移光标l: 右移光标0: 移动光标到行首$: 移动光标到行末G: 移动光标到文件…...

【Visual Studio】printf() 函数无输出显示问题。使用 C++ 语言,配合 Qt 开发串口通信界面

使用 C 语言&#xff0c;配合 Qt 开发串口通信界面时&#xff0c;遇到 printf() 函数无输出显示。 在工程属性的对应位置添加 editbin /SUBSYSTEM:CONSOLE $(OUTDIR)\$(ProjectName).exe 即可&#xff0c;如下图所示。 成功运行的截图如下&#xff1a; Ref. Visual Studio 20…...

Linux安装配置Oracle+plsql安装配置(详细)

如果觉得本文不够详细&#xff0c;没有效果图&#xff0c;可移步详细版&#xff1a; Linux安装配置Oracleplsql安装配置&#xff08;超详细&#xff09;_超爱慢的博客-CSDN博客 目录 1.安装虚拟机系统 1.安装虚拟机 2.配置虚拟机 1.设置机器名 2.修改域名映射 3.固定IP…...

软件UI工程师的职责模板

软件UI工程师的职责模板1 职责&#xff1a; 1.负责产品的UI视觉设计(手机软件界面 网站界面 图标设计产品广告及 企业文化的创意设计等); 2.负责公司各种客户端软件客户端的UI界面及相关图标制作; 3.设定产品界面的整体视觉风格; 4.为开发工程师创建详细的界面说明文档&…...

【Python】Selenium操作cookie实现免登录

文章目录 一、查看浏览器cookie二、获取cookie基本操作三、获取cookie并实现免登录四、封装成函数 一、查看浏览器cookie cookie、session、token的区别&#xff1a; cookie存储在浏览器本地客户端&#xff0c;发送的请求携带cookie时可以实现登录操作。session存放在服务器。…...

【数据结构与算法篇】之时间复杂度与空间复杂度

【数据结构与算法篇】之时间复杂度与空间复杂度 一、时间复杂度1.1时间复杂度的定义1.2 常见的时间复杂度的计算1.2.1 常数时间复杂度&#xff08; O ( 1 ) ) O(1)) O(1))1.2.2 线性时间复杂度&#xff08; O ( N ) O(N) O(N)&#xff09;1.2.3 对数时间复杂度&#xff08; O (…...

硬件性能 - 网络瓶颈分析

简介 本文章主要通过Linux命令查看网络信息、判断是否出现网络瓶颈等简单分析方法。其他硬件性能分析如下&#xff1a; 1. 硬件性能 - CPU瓶颈分析 2. 硬件性能 - 掌握内存知识 3. 硬件性能 - 磁盘瓶颈分析 目录 1. 监控命令 sar 2. 带宽利用率 3. 网络延迟 4. 网络连接数 …...

stm32驱动MCP2515芯片,项目已通过测试

最近公司做一个项目&#xff0c;需要3路can通道&#xff0c;但是stm32看了很久&#xff0c;最多也就只有2个can&#xff0c;所以找到了一款MCP2515芯片&#xff0c;可以用spi驱动can。 已经实现了can的发送和接收&#xff0c;接收采用的是外部中断接收的方式。和单片机本身带的…...

Nginx部署前后端分离项目

dev.env.js解释 //此文件时开发环境配置文件 use strice//使用严格模式 const merge require(webpacl-merge)//合并对象 const prodEnv require(./prod.env)//导出 module.exports merge(prodEnv,{//合并两个配置文件对象并生成一个新的配置文件&#xff0c;如果合并的过程…...

pytorch多分类问题 CrossEntropyLoss()函数的输入size/shape不一致问题

在使用pytorch实现一个多分类任务的时候&#xff0c;许多多分类任务在训练过程中都会有如下的代码&#xff1a; criterion nn.CrossEntropyLoss() loss criterion(output, target) # output.size : [batch_size, class_num] # target.size : [batch_size]许多的初学者会卡在…...

硬盘或者U盘提示需要格式化的解决办法

插入硬盘之后提示&#xff1a; 使用驱动器 G:中的光盘之前需要将其格式化 是否要将其格式化? 如下图所示 顿时慌了啊&#xff0c;里面还有比较重要的东西呢&#xff0c;这一下子完蛋&#xff1f; 遇事找某宝&#xff0c;上面估计有这种技术服务。果然有这一类的技术服务&…...

Clip-Path

前言 借助clip-path,我们可以实现一些复杂的animation动画效果,我们先来简单概述一下它的特性,如MDN所描述的。 The clip-path CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, whi…...