docker的安装使用以及优势

前段时间和朋友开发电商分布式项目作为学习,由于远程开发的需要,需要将redis,mysql,mq等一些基础的服务放在阿里云服务器上,并使用docker来安装这些服务,使容器服务化。

1.使用docker的优势

将 Redis 和 MySQL 等数据库直接安装在云服务器上是可行的,但使用 Docker 容器化这些服务有一些优势和考虑因素:

  • 环境隔离:Docker 容器提供了隔离环境,避免了应用之间的干扰。每个容器都可以拥有自己独立的运行环境和依赖项,这有助于防止版本冲突和其他潜在的问题。

  • 便于管理和部署:使用 Docker 可以更轻松地管理和部署多个服务。您可以使用容器编排工具(如 Docker Compose 或 Kubernetes)来定义、管理和扩展多个容器化的服务,使得管理更为简单。

  • 版本控制:通过 Docker 镜像,您可以轻松控制服务的版本。可以选择特定版本的 Redis 或 MySQL 镜像,并在需要时方便地升级或回退。

  • 灵活性和便携性:使用 Docker 可以更轻松地在不同环境中移植和部署您的应用和服务。无论是在开发、测试还是生产环境中,都能够更方便地部署相同的镜像。

尽管直接在云服务器上安装这些服务是可行的,但是使用 Docker 可以提供更多的灵活性、便携性和可维护性,特别是在复杂的应用场景下或需要频繁部署和更新时,Docker 可以更好地管理服务。

所以,使用 Docker 来拉取镜像并运行 Redis 和 MySQL 是为了更好地利用容器化技术的便利性和优势。

2.Docker 简介

  1. Docker 是一种容器化平台,可以轻松打包应用程序及其依赖项,使其能够在任何环境中快速、可靠地运行。它利用容器技术,将应用程序和其所需的依赖项封装在一个独立的、标准化的单元中,称为容器。这使得应用程序在不同环境中具备一致性,并且更容易进行部署和扩展。
  2. Docker 中每一个容器都是独立运行的,相当于一个独立的 Linux 系统,如果想便捷地修改容器内的文件,我们就需要把容器目录挂载到主机的目录上。容器端口类似,外界无法直接访问容器内部的端口,需要先将容器端口映射到 Linux 主机端口上才能访问。

3.Docker 的基本概念

在开始使用 Docker 之前,有几个重要的概念需要了解:

镜像(Image)

镜像是 Docker 容器的基础。它包含了运行容器所需的所有文件和依赖项。可以将镜像看作是一个应用程序的打包模板。

容器(Container)

容器是从镜像创建的运行实例。每个容器都是一个独立的、隔离的环境,可以在其中运行应用程序。多个容器可以基于同一个镜像创建,并且彼此之间相互隔离。

仓库(Repository)

仓库是存储 Docker 镜像的地方。它可以是本地仓库或者是远程仓库。Docker Hub 是一个常用的公共仓库,您可以在其中找到许多常用的镜像。

4.Docker 安装

本项目所需要许多的软件都安装 Linux 服务器上,这里我们这个项目就在阿里云服务器上使用 docker 进行项目软件安装(这里也可以使用本地虚拟机进行构建),这里我们使用的是 Ubuntu 18.04 64位 对 docker 进行安装(若使用 CentOS7 可自行去网上查询安装 docker)
下面命令注意在root用户下运行,避免重复 sudo 省略(若不是 root 用户在此之前加上 sudo 前缀)

1.删除老版本

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

2.更新及安装工具软件

# 1、更新系统里的所有的能更新的软件
apt-get update# 2、安装几个工具软件 
# 	\ 续行符号: 继续到下一行
# 	curl:是字符界面的浏览器
apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release# 3、增加一个docker的官方GPG key:
# 	gpgkey:是用来验证软件的真伪 ——防伪的
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 4、下载仓库文件
echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

3.安装 docker

# 再次更新系统
apt-get update# 安装docker-ce软件
apt-get install docker-ce docker-ce-cli containerd.io -y

5、Docker 使用

1.启动 docker

systemctl start docker

2.设置开机启动 docker

# 检查docker版本
docker -v# 查看docker已有镜像
docker images# 设置docker开机启动
systemctl enable docker

3.设置国内镜像仓库(Ubuntu 或 CentOS7)

# 创建文件
sudo mkdir -p /etc/docker
# 修改配置, 设置镜像
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://gclmpric.mirror.aliyuncs.com"]
}
EOF
# 重启后台线程
sudo systemctl daemon-reload
# 重启docker
sudo systemctl restart docker

拉取镜像
使用 docker pull 命令从仓库中拉取镜像。例如,要拉取官方的 Ubuntu 镜像,可以执行以下命令:

docker pull ubuntu

运行容器
一旦镜像被拉取到本地,您可以使用 docker run 命令来创建并运行一个容器。例如,要在 Ubuntu 镜像上启动一个新的容器,并进入其 shell,可以执行以下命令:

docker run -it ubuntu /bin/bash

管理容器
您可以使用一些常用的命令来管理容器,例如:

docker ps:查看正在运行的容器。
docker stop <container_id>:停止指定的容器。
docker start <container_id>:启动已停止的容器。
docker rm <container_id>:删除容器。

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

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

相关文章

C++合并K个有序链表

本篇博客介绍如何使用C合并k个有序链表&#xff0c;在代码中会用到std::priority_queue&#xff0c;首先需要介绍一下std::priority_queue的用法&#xff0c;介绍完std::priority_queue后将介绍如何使用std::priority_queue来辅助合并k个有序链表。 一、C priority_queue用法介…

RTMO:迈向高性能的单阶段实时多人姿态估计

摘要 https://arxiv.org/pdf/2312.07526.pdf 实时多人姿态估计在平衡速度和精度方面提出了重大挑战。虽然两阶段自上而下的方法随着图像中人数增加而变慢&#xff0c;但现有的单阶段方法往往无法同时提供高精度和实时性能。本文介绍了RTMO&#xff0c;这是一种单阶段姿态估计框…

用通俗易懂的方式讲解:如何提升大模型 Agent 的能力?

大型语言模型&#xff08;LLM&#xff09;的出现带火了Agent。利用LLM理解人类意图、生成复杂计划并且能够自主行动的能力。Agent具有无与伦比的能力&#xff0c;能够做出类似于人类复杂性的决策和完成一些复杂的工作。 目前市面上已经出现非常多得Agent框架&#xff1a;XAgen…

make_unique 数组,智能指针

【C14算法】make_unique_c make_unique-CSDN博客 #include <iostream> #include <memory>int main() {std::size_t size 5;std::unique_ptr<int[]> ptr std::make_unique<int[]>(size);for (std::size_t i 0; i < size; i) {ptr[i] i 1;}std:…

MongoDB复制集原理

复制集高可用 复制集选举 MongoDB 的复制集选举使用 Raft 算法&#xff08;https://raft.github.io/&#xff09;来实现&#xff0c;选举成功的必要条件是大多数投票节点存活。在具体的实现中&#xff0c;MongoDB 对 raft 协议添加了一些自己的扩展&#xff0c;这包括&#x…

Spring Retry(方法重试、方法重新调用)

Spring Retry——方法重试、方法重新调用 简介&#xff1a;使用1. 配置 2.使用 总结注意 简介&#xff1a; Spring Retry 是一个 Spring Boot 官方提供的支持重试机制的库。它提供了一种简单而灵活的方式来处理方法调用可能失败的情况&#xff0c;通过自动重试失败的操作&…

Mysql大数据量下流式查询优化:Jdbc中的useFetchSize参数及其原理解析

前言 最近我朋友公司有个需求场景&#xff1a;查询千万级数据量并写入txt文件的程序优化需求。 朋友找到我对程序进行优化&#xff0c; 不然饭碗不保......&#x1f4a6; 下面就分享一下解决这个优化问题的过程和思路&#xff0c;并总结一下&#xff0c;在以后不要在踩同样的坑…

加油吧! 学习无线电!

pyhackrf2 已经修复 pyhackrf2 修改bw问题-CSDN博客 OOK 已经写出来了 ook 模块 基础测试完成 准备调整参数-CSDN博客 最先后一个程序 关于 wfm解码

C++指南——拷贝构造函数和赋值运算符重载

文章目录 1 举个例子&#xff08;问题由来&#xff09;2 拷贝构造函数与构造函数不同3 默认拷贝构造函数是浅拷贝4 默认赋值运算符是浅拷贝 1 举个例子&#xff08;问题由来&#xff09; 在C中&#xff0c;使用Car car2 car1; 这种形式的语句被称为拷贝构造&#xff08;用一个…

[算法]使用aes进行数据加密

一、需求 有一段信息需要进行安全加密。 二、方案 对称加密和非对称加密两种方案&#xff0c;其中由于公钥密钥的管理还未形成规范&#xff0c;因此考虑使用对称加密。其中&#xff0c;对称加密算法使用openssl中&#xff0c;关于aes的部分&#xff0c;输出结果为128位数据。…

【青书学堂】 2023年第二学期 刑法学(总论)(直播课) 作业

【青书学堂】 2023年第二学期 刑法学(总论)(直播课) 作业 为了方便日后复习&#xff0c;青书学堂成人大专试题整理。 若有未整理的课程&#xff0c;请私信我补充&#xff0c;欢迎爱学习的同学们收藏点赞关注&#xff01;文章内容仅限学习使用&#xff01;&#xff01;&#xff…

自然语言处理中的语言模型

知乎好文章&#xff0c;建议参考学习语言模型 语言模型&#xff08;Language Model, LM&#xff09;是用于计算或预测一系列词语&#xff08;句子或文本段落&#xff09;出现概率的统计模型。它们能够基于已知的词序列来预测下一个词或者评估一个句子的语言学合理性。 发展历程…

【代码学习】einops,更简单的张量变化

官方教程&#xff1a;https://github.com/arogozhnikov/einops/blob/master/docs/2-einops-for-deep-learning.ipynb 常见操作&#xff1a; 维度变换 rearrange 维度变换 y rearrange(x, b c h w -> b h w c) # 已经 表明 x的每个轴 变量 b c h w guess(y.shape)flatten…

oracle-undo

tips&#xff1a;串行化隔离级别&#xff1a;事务开始后&#xff0c;对一张表不会被别人影响&#xff0c;对于审计工作比较有用&#xff0c;避免了幻读。 undo表空间&#xff1a;自动生成段&#xff0c;自动生成区&#xff0c;自动维护的&#xff0c;不像一般的表空间&#xff…

独立式键盘控制的4级变速流水灯

#include<reg51.h> // 包含51单片机寄存器定义的头文件 unsigned char speed; //储存流水灯的流动速度 sbit S1P1^4; //位定义S1为P1.4 sbit S2P1^5; //位定义S2为P1.5 sbit S3P1^6; //位定义S3为P1.6 sbit S4P1^7; //位…

泽攸科技完全自主研制的电子束光刻机取得阶段性成果

国产电子束光刻机实现自主可控&#xff0c;是实现我国集成电路产业链自主可控的重要一环。近日&#xff0c;泽攸科技联合松山湖材料实验室开展的全自主电子束光刻机整机的开发与产业化项目取得重大进展&#xff0c;成功研制出电子束光刻系统&#xff0c;实现了电子束光刻机整机…

rime中州韵小狼毫 生字注音滤镜 汉字注音滤镜

在中文环境下&#xff0c;多音字是比较常见的现象。对于一些不常见的生僻字&#xff0c;或者一些用于地名&#xff0c;人名中的常见字的冷门读音&#xff0c;如果不能正确的阅读&#xff0c;例如把 荥阳 读成了 miāo yng&#xff0c;则会怡笑大方。 今天我们在rime中州韵小狼…

python自动化运维管理拓扑

目录 1、简介 2、实验环境 3、拓扑图 4、需求及其代码 4.1、测试连通性 4.2、远程登陆 4.3、配置loopback 4.4、监控内存使用率 4.5、自动化巡检内存使用率 4.6、自动化配置snmp服务 4.7、提取分析字符串 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业…

2024 年 20+ 个 Node.js 开发工具

2024了&#xff0c;你准备好提升你的Node.js开发体验了吗&#xff1f;有了合适的工具集&#xff0c;你可以将你的项目提升到新的高度&#xff0c;简化你的工作流程&#xff0c;创建强大的、高性能的应用程序。这篇全面的指南将向你介绍Node.js开发的顶级工具&#xff0c;提供使…

网络流量分析与故障分析

1.网络流量实时分析 网络监控 也snmp协议 交换机和服务器打开 snmp就ok了 MRTG或者是prgt 用于对网络流量进行实时监测&#xff0c;可以及时了解服务器和交换机的流量&#xff0c;防止因流量过大而导致服务器瘫痪或网络拥塞。 原理 通过snmp监控 是一个…