Docker入门(清晰认识)

为什么学习Docker?

再学完linux后,我们需要远程对Linux虚拟机下载一些软件,如果在Linux里直接用命令下载软件会十分麻烦,所以我们需要通过使用Docker将软件直接下载到Docker中,这样更方便下载和卸载等操作。

一张图弄懂Docker

Docker 是一个应用打包、分发、部署的容器

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任 何流行的Linux 机器上

你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而 普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。

仓库(Repository):是docker提供的一个用来保存镜像的仓库.

镜像(Image):镜像就是一个可执行的包,用来创建容器,docker中每一个软件就是一个镜像.

容器(Container):容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等

简而言之就是通过远程仓库拉取到images镜像中,再通过容器Containers来运行即可。不需要下载再linux中下载软件,方便了许多.。

安装Docker

前提:我们已经安装了yum

安装yum-utils,配置镜像源需要使用

yun install -y yum-utils

设置更新docker镜像源

yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

 测试docker版本

docker -v(命令行输入后如果显示出版本号则下载Docker成功)

 启动常用命令

docker安装成功后并没有启动,

启动命令 systemctl start docker

关闭命令 systemctl stop docker

设置开机自动启动 systemctl enable docker(最好直接这样设置了不然麻烦)

 卸载Docker

停止服务

systemctl stop docker

卸载

 yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

删除文件

 rm -rf /var/lib/docker

 rm -rf /var/lib/containerd

 配置Docker

在etc下创建docker目录

mkdir -p /etc/docker

 进入docker目录

cd /etc/docker

 创建daemon.json文件

touch daemon.json

 修改文件

vim daemon.json

{ "registry-mirrors": ["https://dockerhub.icu"] }(将这串放到daemon.json文件里)

 重载配置

systemctl daemon-reload

 重启

systemctl restart docker

 Docker命令

镜像命令(images)

查看镜像列表

docker images

 

这就是我的docker镜像中的mysql redis nginx

从docker仓库拉取镜像到本地仓库

docker pull mysql(拉取mysql从远程仓库)

 删除本地镜像

docker rmi 镜像名/镜像id

从docker保存镜像到linux本地

docker save 镜像名 > 镜像名.tar

 从Linux本地 加载镜像到docker中(这两步可以永久性将镜像保存到Linux中,不然哪天pull镜像拉去不到就换地址吧不然就保留在你这Linux本地里去)

docker load 镜像名 < 镜像名.tar

容器命令(Containers)

 启动容器

docker ps -a

 启动容器

docker start 容器名

 停止容器

docker stop 容器名

 删除容器

docker rm 容器名(需要把容器停止了才能删除不然报错

 举例下载一个mysql

下载镜像

docker pull mysql:8.0

 创建mysql数据卷

mkdir -p /opt/mysql/data

 安装

docker run -d -p 3306:3306 \ --name mysql \ --restart=always \ --privileged=true \ -e TZ=Asia/Shanghai \ -e MYSQL_ROOT_PASSWORD=root \ -v /opt/mysql/data:/var/lib/mysql \ mysql:8.0

 这里用到数据卷:你在容器中运行mysql、redis等会产生数据想要保存到linux上就这样挂载。

进入到容器

docker exec -it 容器名/容器id bash

 登录mysql

mysql -uroot -proot

 修改root账号加密方式(不然容器中的mysql会乱码)

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '自定义一个密码';

 退出

exit

 

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

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

相关文章

javaScript的面试重点--预解析

目录 一.前言 二.预解析案例 一.前言 关于预解析&#xff0c;我们通过今天学习就能够知道解析器运行JS分为哪两步&#xff1b;能够说出变量提升的步骤和运行过程&#xff1b;能够说出函数提升的步骤和运行过程。 二.预解析案例 预解析&#xff0c;简而言之&#xff0c;也就是…

7.13实训日志

上午 学习网络安全的过程中&#xff0c;我们深入了解了网络的不同层面和技术&#xff0c;从表层网络到深网再到暗网&#xff0c;以及涉及的产业分类和技术工具。这些知识不仅帮助我们理解网络的复杂性&#xff0c;还揭示了如何应对和防范各种网络威胁。 首先&#xff0c;我们…

简易秒表的实现

目录 描述 输入描述&#xff1a; 输出描述&#xff1a; 参考代码 描述 请编写一个模块&#xff0c;实现简易秒表的功能&#xff1a;具有两个输出&#xff0c;当输出端口second从1-60循环计数&#xff0c;每当second计数到60&#xff0c;输出端口minute加一&#xff0c;一直…

当在多线程环境中使用 C++进行编程时,怎样确保线程安全以及如何处理线程之间的同步和通信?

在C中确保线程安全性和处理线程之间的同步和通信有多种方法。下面是一些常用的技术和技巧&#xff1a; 互斥锁&#xff1a;使用互斥锁可以确保只有一个线程可以访问共享资源。在访问共享资源之前获取锁&#xff0c;在完成后释放锁。这可以防止多个线程同时访问同一份数据&#…

007-端口隔离

端口隔离配置 端口隔离简介 为了实现报文之间的二层隔离&#xff0c;可以将不同的端口加入不同的VLAN&#xff0c;但会浪费有限的VLAN资源。采用端口隔离特性&#xff0c;可以实现同一VLAN内端口之间的隔离。 设备支持以下方式进行端口隔离&#xff1a; 基于隔离组的端口隔…

中介子方程五十七

XXFXXaXnXaXXαXLXyXXWXuXeXKXXiXyXΣXXΣXXVXuXhXXWXηXXiXhXXpXiXXpXXbXXiXOXWXyXkXXeXpXXαXXpXeXXkXyXWXOXiXXbXXpXXiXpXXhXiXXηXWXXhXuXVXXΣXXΣXyXiXXKXeXuXWXXyXLXαXXaXnXaXXFXXaXnXaXXαXLXyXXWXuXeXKXXiXyXΣXXΣXXVXuXhXXWXηXXiXhXXpXiXXpXXbXXiXOXWXyXkXXeXpXXα…

理解JavaScript中的对象传递与赋值操作

在JavaScript中&#xff0c;对象传递和赋值操作是两个非常重要的概念。它们在日常开发中扮演着关键角色&#xff0c;但也常常会让人感到困惑。本文将通过两个简单的例子&#xff0c;更好地理解它们的区别和实际应用。 示例代码1&#xff1a;修改对象属性 我们先来看第一段示例…

【数据结构】顺序表的应用

目录 一.引言 二.顺序表概念 三.顺序表的实现 1.定义顺序表 2.顺序表初始化 ​编辑 3.检查空间&#xff0c;如果满了&#xff0c;进行增容 4.顺序表尾插 5.顺序表尾删 6.顺序表头插 7.顺序表头删 ​编辑 8.顺序表查找 9.顺序表在pos位置插入x 10.顺序表删…

展开说说:Android页面绘制流程源码解析

说到Android系统View的绘制流程&#xff0c;大家一定知道是分为测量&#xff08;Measure&#xff09;、布局&#xff08;Layout&#xff09;和绘制&#xff08;Draw&#xff09;三个阶段&#xff0c;这篇文章主要聊一聊在这三个步骤之前的源码执行流程&#xff0c;页面启动后是…

C语言丢失精度 如何实现高精度计算

&#xff08;1&#xff09;int 类型举例 int &#xff1a;占4个字节&#xff0c;也就是32位&#xff0c;及最大值是2^32-11024*1024*1024*4-14294967295 以上说法错误&#xff0c;因为Int是有符号类型整数&#xff0c;所以最高位是符号位&#xff0c;及int的最大值应该是2^31…

【Java】链表的头插法和尾插法

头插法 头插法就是在已有的节点的前面插入新节点 如何实现 &#xff08;1&#xff09;先定义一个节点类ListNode&#xff0c;里面有value值和地址 public class ListNode {int value;ListNode next;public ListNode(int value){this.value value;}Overridepublic String t…

开发指南046-机构树控件

为了简化编程&#xff0c;平台封装了很多前端组件。机构树就是常用的组件之一。 基本用法&#xff1a; import QlmOrgTree from /qlmcomponents/tree/QlmOrgTree <QlmOrgTree></QlmOrgTree> 功能&#xff1a; 根据权限和控制参数显示机构树。机构树数据来源于核…

让我们一起来看看这些强大的中国汽车品牌如何勇攀巅峰!

咱们中国的汽车品牌&#xff0c;就是这么牛&#xff01;你知道吗&#xff1f;他们已经悄悄崛起&#xff0c;一步步向着更广阔的海外市场进军了。尽管这个过程可能有点坎坷&#xff0c;但是“勇敢”始终是他们前行的动力&#xff0c;推动着他们不断向前&#xff0c;打造属于我们…

AGI 之 【Hugging Face】 的【文本摘要】的 [评估PEGASUS ] / [ 微调PEGASUS ] / [生成对话摘要] 的简单整理

AGI 之 【Hugging Face】 的【文本摘要】的 [评估PEGASUS ] / [ 微调PEGASUS ] / [生成对话摘要] 的简单整理 目录 AGI 之 【Hugging Face】 的【文本摘要】的 [评估PEGASUS ] / [ 微调PEGASUS ] / [生成对话摘要] 的简单整理 一、简单介绍 二、文本摘要 三、在CNN/Daily…

秋招突击——7/9——MySQL索引的使用

文章目录 引言正文B站网课索引基础创建索引如何在一个表中查看索引为字符串建立索引全文索引复合索引复合索引中的排序问题索引失效的情况使用索引进行排序覆盖索引维护索引 数据库基础——文档资料学习整理创建索引删除索引创建唯一索引索引提示复合索引聚集索引索引基数字符串…

C#基于任务的异步模式(TAP)

1、C#异步模式分类 基于任务的异步模式&#xff08;TAP&#xff09; 基于事件的异步模式&#xff08;EAP&#xff09;和异步编程模型模式&#xff08;APM&#xff09; 2、基于任务的异步模式&#xff08;TAP&#xff09; 基于任务的异步模式&#xff08;TAP&#xff09;用单个方…

从零手写实现 nginx-28-error pages 指令

前言 大家好&#xff0c;我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的&#xff0c;可以参考我的另一个项目&#xff1a; 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …

夹子音转换器matlab

操作过程点击此处观看 上段时间补习了一下傅里叶变化的知识&#xff0c;突发奇想可以根据此做一款声音转换器&#xff0c;使用工科神器Matlab进行完成&#xff0c;并且开发了可操作界面如下图所示&#xff1a; 功能实现与描述 软件中可以实现声音的录制、回放、文件的保存与…

【C++】动态内存分配(关于构造与析构函数的调用)动态数组类 动态创建多维数组 知识点+代码学习记录

一.动态内存分配相关知识点 1.堆和栈内存&#xff1a; 堆内存&#xff1a;动态分配的内存位于堆中&#xff0c;它不受作用域限制&#xff0c;由程序员控制其生命周期。 栈内存&#xff1a;局部变量和函数参数等自动分配的内存位于栈中&#xff0c;由编译器自动管理。 2.new…

性能测试(2)

jmeter参数化 loadrunner Jmeter IP欺骗&#xff0c;也称为IP欺诈&#xff0c;是指通过伪装、篡改IP地址的方式&#xff0c;进行网络攻击或欺骗行为。这种行为可能会导致网络安全问题&#xff0c;包括身份盗窃、数据泄露、DDoS攻击等。为了保护自己的网络安全&#xff0c;用户…