Docker超详细基础使用(带图)

news2024/12/22 22:53:42

目录

安装ubuntu

基本使用命令

docker run 容器名   延伸命令

 启动ubuntu

 查看所有正在运行的容器

指定容器别名启动

doker ps 延伸命令

 退出容器

重新进入正在运行的容器

启动容器 

 删除已停止的容器

强制删除容器 

 查看容器日志

 查看容器内部运行的进程

​编辑 查看容器内部细节

 导出导入容器 

 导出​编辑

 导入​编辑

上传容器镜像到仓库

 commit容器

 安装vim

 提交容器

 上传阿里云容器镜像仓库

 拉取

 拉取阿里云容器镜像

 上传私有仓库

安装ifconfig的ubuntu并推送到私服

 推送镜像到私服

 拉取私服镜像

 容器卷


安装ubuntu

本篇文章以ubuntu系统镜像为测试

基本使用命令

docker run 容器名   延伸命令

 启动ubuntu

平常如果直接启动ubuntu的话是docker run ubuntu,但是ubuntu是一种类似于centos的系统,所以需要暴露出终端让我们进一步的输入命令,所以此时就需要我们以交互式地启动ubuntu

docker run -it ubuntu bash
或者

docker run -it ubuntu /bin/bash

 

 

 查看所有正在运行的容器

docker ps

 注意此时我们处在ubuntu的系统中,所以需要另外开一个窗口然后输入docker命令进行查看

 此时我们启动ubuntu时没有指定容器名字,所以docker会随机飞机分配一个名字给容器

指定容器别名启动

docker run -it --name=名字 ubuntu /bin/bash

 再开一个连接窗口进行查看

 可以看到第一个容器的名字就已经是我们刚才指定的名字了

如果有哪些命令忘记还可以查看docker命令帮助

docker run --help

 只不过命令说明都是英文,对英文不太好的小伙伴(指自己)不太友好o(╥﹏╥)o

doker ps 延伸命令

 

 

 

 

 退出容器

 可以看到退出后再使用docker ps命令后随机名字的ubuntu的容器已经停止

 

 在自定义名字容器的连接窗口里输入快捷键退出后再使用docker ps发现自定义的ubuntu容器并没有停止

重新进入正在运行的容器

docker exec -it 容器id /bin/bash

或者 

docker exec -it 容器id bash

 

启动容器 

docker start 容器id

 

 删除已停止的容器

docker rm 容器id

 

 注意该命令是删除 已停止的容器

所以如果要删除该容器的话需要先将该容器停止

docker stop 容器id

强制删除容器 

如果想要删除正在运行的容器的话需要再命令行中加 -f命令

docker rm -f 容器id   

 

 拓展 不建议使用 可能会误删容器

 后台启动容器 ,这里以redis容器作为演示

首先拉取redis容器

 

 

 查看容器日志

docker logs 容器id

 

 查看容器内部运行的进程

docker top 容器id

 查看容器内部细节

docker inspect 容器id

 

从容器内复制文件到主机

 导出导入容器 

 

 导出

 导入

 拓展知识

 

上传容器镜像到仓库

 commit容器

我们在拉取容器后,有些容器可能不包含我们需要的一些功能,这时我们可以对该容器下载一些我们需要的功能后将容器进行commit

首先先更新我们的容器包管理器

apt-get update

 安装vim

apt-get -y install vim

 测试vim命令是否可以使用

 输入 vim ab.txt进入文本编辑

 编辑文本

退出 

保存并退出:在 Vim 编辑器中,输入 :wq 命令可以保存当前文件并退出,具体操作步骤是:

a.按下 Esc 键进入普通模式。

b.输入 :wq 并按下回车键即可保存并退出。

 提交容器

 docker commit -m="描述" -a="作者" 容器di 目标镜像名:标签名

 

 上传阿里云容器镜像仓库

将刚刚提交的容器镜像上传到阿里云镜像仓库里

 登录阿里云进入到控制台中

 

 为了方便演示这里创建一个公开的仓库

 

 

 

 进入仓库获取执行脚本

 依次执行推送脚本即可

 

 

 拉取

 再将刚才推送成功的镜像拉取下来

为了避免混淆,先将本地里的镜像删掉

 

 拉取阿里云容器镜像

测试使用 

 

 上传私有仓库

 拉取一个私有仓库

 docker pull registry

 执行配置私服命令

默认情况下 仓库被创建在容器的/var/lib/registry目录下 建议自行用容器卷映射 方便于宿主机联调

 docker run -d -p 5000:5000 -v /wutian/myregistry/:/tmp/registry --privileged=true registry

安装ifconfig的ubuntu并推送到私服

 

 执行下面两条命令

apt-get update

apt-get install net-tools

 

 执行后再次执行ifconfig查看效果

 跳出docker容器再commit安装ifconfig后的容器

 查看提交的镜像

查看私服仓库中的镜像列表

 ifconfig | grep 'inet '

curl -XGET http://域名ip地址:5000/v2/_catalog

 查看后发现当前私服中没有任何镜像

修改刚才提交的镜像为私服要求的镜像格式

公式

docker tag 镜像名:标签 Host:Port/Repository:标签

docker默认是不允许http方式推送镜像的,需要修改配置使docker允许http方式推送镜像

查看配置文件

cat /etc/docker/daemon.json

 修改后  注意ip地址改成自己的

{
  "registry-mirrors": ["https://panyr5rh.mirror.aliyuncs.com"],
  "insecure-registries":["172.17.4.142:5000"]
}

有的可能修改后没有起作用,可以重启docker

systemctl restart docker

 再启动私服仓库

 

 推送镜像到私服

 docker push 172.17.4.142:5000/fig_ub:1.2

再次查看私服仓库

 拉取私服镜像

为了避免混淆先把本地的删除掉

拉取私服镜像

 拉取成功

 测试

 容器卷

将运用与运行的环境打包镜像 run后形成容器实例运行 可以使得数据持久化

通俗的说就是把容器内的的文件数据和宿主机进行同步持久化

 演示:

 docker run -it --privileged=true -v /tmp/host_data:/tmp/docker_data --name=u1 ubuntu

 注意配置中的文件目录如果不存在docker会自动创建

 

在宿主机中修改这个文件,然后回到容器内观察文件内容有无同步

 

 

 

 回到容器中查看

 查看容器卷是否挂载成功

用之前的查看容器内部详情命令

 往下翻看详情

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

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

相关文章

Axure教程—分段滑动条

本文将教大家如何用AXURE中动态面板制作单分段滑动条 一、效果 预览地址:https://c00qrq.axshare.com 下载地址:https://download.csdn.net/download/weixin_43516258/87881401?spm1001.2014.3001.5503 二、功能 滑块滑动到相应的浮点,显示…

【SVN】SVN查看日志时报错:联系服务器时出现问题,条目不可读

目录 0.背景介绍 1.问题原因 2.解决步骤 0.背景介绍 环境:SVN服务器在ubuntu下,SVN客户端在windows下。 最近在搭ubuntu下的SVN的服务器,然后再windows下用SVN客户端将文件上传至服务器保管。 windows下想查看日志时,报错【…

React学习7 redux

redux的三个核心概念 1. action 动作的对象包含2个属性 type:标识属性, 值为字符串, 唯一, 必要属性data:数据属性, 值类型任意, 可选属性例子:{ type: ADD_STUDENT,data:{name: tom,age:18} } 2. reducer 用于初始化状态、加工状态。加工…

健身器材开发方案,带有12位ADC检测、LED屏显的语音IC-N9300

身体锻炼过程中所使用到的所有物品,健身器材类体育用品则主要涉及健身领域,包括室外健身器材和室内健身器材。 每天清晨或傍晚跑跑步,不仅能提高身体素质同时能得到很好的瘦身效果。然而大部分人觉得慢跑等运动过于无聊没有给予运动者本身进行…

【Redis编译安装】---redis-4.0.8

【Redis编译安装】---redis-4.0.8 🔻 一、Redis 编译安装1.1 ⛳ 上传解压1.2 ⛳ 升级gcc环境1.3 ⛳ 编译安装1.3.1 🍁cd 到redis解压目录1.3.2 🍁编译1.3.3 🍁 make test1.3.4 🍁 安装tcl-8.51.3.5 🍁 安装…

shell 第十一章

1.写一个库函数,用定时任务调用这个库函数,每月1号执行 1.sh: 1.1.sh: 2.以免交互的方式实现 ssh 远程登录,密码错误也直接退出,不用人干预 3.以免交互的方式,实现磁盘分区、格式化、挂载

Keysight 34970A数据采集记录仪产品介绍

Keysight 34970A数据采集记录仪 Keysight 34970A数据采集记录仪开关单元由一个 3 插槽主机和一个内置的 6 1/2 位数字万用表组成。每个通道可以单独配置,以测量 11 种不同功能之一,这样既不会增加成本,也不必使用复杂的信号调理附件。您可用…

【干货】PCB材料选择与性能比较

PCB板被广泛应用于电子行业,作为电子设备的重要组成部分之一,负责连接各种电子元件。PCB板的性能直接影响着电子设备的质量和稳定性。而PCB板的材料选择则是影响PCB板性能的关键因素之一。本文将对常见PCB材料进行比较分析,以便于选择适合的材…

直线模组的应用案例

直线模组最早是在德国开发使用的,因其具有单体运动速度快、重复定位精度高、本体质量轻、占设备空间小、寿命长等特点,被广泛应用在各种各样的机械设备中,尤其是自动化领域,基本上都能看到直线模组的身影,那么&#xf…

Target DVS EDI项目开源介绍

近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。 …

小程序项目结构与组件基础

文章和代码已经归档至【Github仓库:https://github.com/timerring/front-end-tutorial 】或者公众号【AIShareLab】回复 小程序 也可获取。 文章目录 项目结构了解项目的基本组成结构小程序页面的组成部分json配置文件的作用全局配置文件app.jsonproject.config.jso…

数据仓库基础知识

数据仓库 企业信息应用现状企业对应用集成的需求1. 什么是BI1.1 BI的定义1.2 BI要做的事情1.3 BI的智能1.4 BI应用架构1.5 BI系统架构1.6 BI应用带来的关键效益 2. 什么是数据仓库2.1 数据仓库的概念2.2 数据仓库的特性 3. 数据仓库设计中的几个重要概念3.1 ETL3.2 数据集市&am…

vue2vue3 el-table实现整行拖拽排序功能(使用sortablejs插件)

1、此功能已集成到[TTable组件中]—Vue2TTable组件 、Vue3TTable组件 2、最终效果 3、安装sortablejs npm install sortablejs --save4、Vue2实现方式 <template><el-tableref"el-table":data"tableData":class"{cursor:isCopy,row_sort:…

探究JavaScript:Array方法、原型链继承和JSON

目录 Array对象 构造函数 静态方法 Array.isArray() 实例方法 valueOf&#xff08;&#xff09; toString&#xff08;&#xff09; 对象的继承 构造函数的缺点 prototype属性作用 原型链 读取对象的某个属性的过程&#xff1a; constructor属性 instanceof运算符…

Linux防火墙学习笔记5

iptables规则匹配及动作&#xff1a; 规则&#xff1a;根据规定的匹配条件来尝试匹配每个流经此处的数据包&#xff0c;匹配成功&#xff0c;则由规则指定的处理动作进行处理。规则是由匹配条件和动作组成的。 iptables的规则匹配条件分类&#xff1a; 基本匹配条件&#xff…

STM32 EC200N-CN MQTT链接服务器开发实录

开发环境 硬件&#xff1a;STM32F091CBT6 、EC200N-CN模块板 、USB-TTL串口助手 软件&#xff1a;VS CODE 、 STM32CUBEMX、IAR 8.32 1.硬件设计 连接好EC200N-CN模块和单片机主板。 EC200N-CN模块设计时注意供电和IO电平转换。 EC200N-CN是低功耗的&#xff0c;其主串口…

宝藏达人 | 10年运营支招,一文看懂运营全套技能!

本期介绍的ProcessOn宝藏达人是爱吃小麦馒头&#xff0c;他在互联网领域担任运营官十年以上&#xff0c;有着丰富的业务实操经验和运营方法论。职场风雨历练中他接触过一些“会省钱”的老板&#xff0c;发现有的企业对运营这一职业并未足够重视&#xff0c;随便调个HR做运营经理…

linux中系统性能监测命令sar,查看cpu、内存、磁盘、网络等使用情况

显示系统CPU利用率的统计信息&#xff1a; sar -u 1 5 -u: 这是sar命令的选项之一&#xff0c;表示要显示CPU利用率相关的统计数据。1: 这是指定采样间隔的参数&#xff0c;表示每秒采样一次数据。5: 这是指定采样次数的参数&#xff0c;表示总共采样5次数据。 %user&#xf…

18.5:给定一个栈,请逆序这个栈,不能申请额外的数据结构,只能使用递归函数

给定一个栈&#xff0c;请逆序这个栈&#xff0c;不能申请额外的数据结构&#xff0c;只能使用递归函数 package algorithmbasic.class18;import java.util.Stack;//给定一个栈&#xff0c;请逆序这个栈&#xff0c;不能申请额外的数据结构&#xff0c;只能使用递归函数 publi…

网络安全为什么缺人? 缺什么样的人?

1.网络安全为什么缺人? 缺人的原因是有了新的需求。 以前的时候&#xff0c;所有企业是以产品为核心的&#xff0c;管你有啥漏洞&#xff0c;管你用户信息泄露不泄露&#xff0c;我只要做出来的产品火爆就行。 这一切随着《网络安全法》、《数据安全法》、《网络安全审查办法…