黑马程序员SpringCloud微服务开发与实战- Docker-01

news/2025/11/17 23:46:03/文章来源:https://www.cnblogs.com/xinmomoyan/p/19234847

黑马程序员SpringCloud微服务开发与实战- Docker-01

Posted on 2025-11-17 23:42  心默默言  阅读(0)  评论(0)    收藏  举报

1. Ubuntu中安装docker

依次按照下面步骤即可完成docker的安装。这部分参考了钟老师的《Docker快速入门》

1、更新软件源

sudo apt update

运行项目并下载源码bash

2、安装基本软件

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common lrzsz -y

运行项目并下载源码bash

3、指定使用阿里云镜像

sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

运行项目并下载源码bash
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

运行项目并下载源码bash

4、更新软件源

sudo apt update

运行项目并下载源码bash

5、安装docker-ce

sudo apt-get install docker-ce -y

运行项目并下载源码bash
查看docker版本

经过上面的步骤,已经完成了docker的安装,可以通过以下命令查看docker的版本。

docker version

运行项目并下载源码bash
配置可用镜像源
创建文件daemon.json

切换到/etc/docker

cd /etc/docker

运行项目并下载源码bash

创建文件deamon.json

sudo touch daemon.json

运行项目并下载源码bash
修改daemon.json文件

编辑/etc/docker/daemon.json文件

sudo vim daemon.json

运行项目并下载源码bash

把下面的内容复制到daemon.json文件中。

{
"registry-mirrors": [
"https://docker.1panel.live",
"https://hub.rat.dev"
]
}

运行项目并下载源码bash
重启docker
systemctl daemon-reload

运行项目并下载源码bash
systemctl restart docker

运行项目并下载源码bash

至此,ubuntu上安装docker就完成了。

安装过程中问题解决
image

zz@zz-virtual-machine:/etc/docker$ docker images
permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
方法一:将当前用户添加到docker组中

打开终端或命令行界面。
输入以下命令将当前用户添加到docker组中(将username替换为您的实际用户名):
sudo usermod -aG docker username
重新登录或重启系统以使更改生效。
再次尝试执行Docker指令,查看是否解决问题。
image
image

安装验证
image

2. docker常用命令

1、镜像相关命令
搜索镜像
docker search 镜像名

运行项目并下载源码bash
查看镜像
docker images

运行项目并下载源码bash
查看容器
docker ps

运行项目并下载源码bash
运行镜像
docker run 镜像名/镜像ID

运行项目并下载源码bash
拉取镜像
docker pull 镜像名:tag

运行项目并下载源码bash

比如,拉取jdk1.8

docker pull java:8

运行项目并下载源码bash
删除镜像
docker rmi -f 镜像名/镜像ID

运行项目并下载源码bash
2、容器相关命令
关闭容器
docker stop 容器名/容器ID

运行项目并下载源码bash
启动容器
docker start 容器名/容器ID

运行项目并下载源码bash
删除容器
docker rm -f 容器名/容器ID

运行项目并下载源码bash
进入容器内部
docker exec -it 容器名/容器ID bash

运行项目并下载源码bash
查看容器信息
docker inspect 容器名/容器ID

运行项目并下载源码bash
查看容器日志
docker container logs 容器名/容器ID

运行项目并下载源码bash
从容器内复制文件

docker cp 容器名/容器ID:docker容器内的文件地址 docker所在宿主机的文件地址

3. 部署MySQL

首先,我们利用Docker来安装一个MySQL软件,大家可以对比一下之前传统的安装方式,看看哪个效率更高一些。
如果是利用传统方式部署MySQL,大概的步骤有:

  • 搜索并下载MySQL安装包
  • 上传至Linux环境
  • 编译和配置环境
  • 安装

而使用Docker安装,仅仅需要一步即可,在命令行输入下面的命令(建议采用CV大法):

docker run -d \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \mysql

运行效果如图:
image
MySQL安装完毕!通过任意客户端工具即可连接到MySQL.

大家可以发现,当我们执行命令后,Docker做的第一件事情,是去自动搜索并下载了MySQL,然后会自动运行MySQL,我们完全不用插手,是不是非常方便。

而且,这种安装方式你完全不用考虑运行的操作系统环境,它不仅仅在CentOS系统是这样,在Ubuntu系统、macOS系统、甚至是装了WSL的Windows下,都可以使用这条命令来安装MySQL。
要知道,不同操作系统下其安装包、运行环境是都不相同的!如果是手动安装,必须手动解决安装包不同、环境不同的、配置不同的问题!

而使用Docker,这些完全不用考虑。就是因为Docker会自动搜索并下载MySQL。注意:这里下载的不是安装包,而是镜像。镜像中不仅包含了MySQL本身,还包含了其运行所需要的环境、配置、系统级函数库。因此它在运行时就有自己独立的环境,就可以跨系统运行,也不需要手动再次配置环境了。这套独立运行的隔离环境我们称为容器。
说明:

  • 镜像:英文是image
  • 容器:英文是container
    image
    image

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

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

相关文章

11-17午夜盘思

1、大盘无忧; 2、情绪方面:摩恩电气震荡整理,高位相对缓和,情绪周期由弱转强,但平潭发展,海峡创新停牌,对高位接力,尤其是妖股的炒作肯定是有打击的,明天高位妖股的分歧可能比较大,注意一下,观察高位是否有…

6.S081 操作系统 Lab1

一些有用的参考资料和博客 B站上传 : MIT 6.S081 2020 操作系统 [中英文字幕] Doraemonzzz 的博客,讲解了如何用python 测试题目 Miigons blog2012年XV6文档 2012 年- xv6 操作系统 - 英文 对应 2012年 - xv6 中文文…

Coco AI 参选 Gitee 2025 最受欢迎开源软件!您的每一票,都是对中国开源的硬核支持

极限科技(INFINI Labs)4 个开源项目(Coco AI、Analysis-IK 分词插件、Gateway、Console)正在参加 Gitee 2025 最受欢迎的开源软件投票活动, 👉 快来给我投票吧!一起见证中国开源力量,谢谢你宝贵的一票!「Git…

题解:P14002 [eJOI 2025] Navigation

题意:有一个仙人掌,但是不告诉你这个图。现在有一个完全没有任何记忆的机器人,每次只告诉你当前走到这个点的颜色和邻点的颜色,保证每次给出点颜色的顺序都一样,你每次可以结束或者给当前点染色并走向一个点。设计…

多媒体与可视化:WebAssembly集成与实时视频贴图

好的,这是一个非常深入且专业的问题,直指高性能Web开发与计算机图形学的核心。下面我将详细分享在海康三维可视化项目中的具体实践与挑战。多媒体与可视化:WebAssembly集成与实时视频贴图 第一部分:WebAssembly集成…

第三章作业 动态规划

实践报告 按照动态规划法的求解步骤分析作业题目“数字三角形”: 1.1 根据最优子结构性质,列出递归方程式,说明方程式的定义、边界条件 递归方程式:dp[i][j] = triangle[i][j] + max(dp[i-1][j-1], dp[i-1][j]) 状…

Java Room与SQLite如何交互

在Android开发中,Room是一个持久性库,它提供了抽象层,使得开发者可以更方便地处理数据库操作。SQLite是一个轻量级的数据库引擎,它是Android内置的数据库解决方案。要在Android应用中使用Room和SQLite交互,你需要…

11月17日日记

1.今天进行java考试做房产信息管理系统开发 2.明天工程实训 3.如何解决http://localhost:8080/ 404的问题

第三十一天

今天的学习聚焦在“路径检索”相关知识,尤其是最短路径的匹配方法,收获特别扎实。 先理清了路径检索的核心两种方法:深度优先搜索(DFS)像走迷宫时一条路走到黑再回溯,优先探完一条分支再换方向;广度优先搜索(B…

wsl 常用命令

wsl安装 wsl --install #会自动安装wsl 和默认Ubuntu#建议将 WSL 默认版本设置为 WSL2,以获得更好的性能和兼容性 wsl --set-default-version 2 #在安装 Ubuntu 之前,更新 WSL 内核也是好习惯 wsl --update#如果要重…

AI模型的github——ModelScope.co和Hugging Face.cn

好的,我来通俗易懂地解释一下 ModelScope 和 Hugging Face 是什么。 您可以把它想象成两个巨大的、开放的“模型应用商店”或“模型图书馆”。1. Hugging Face 核心比喻:AI 模型的 GitHub它是什么? 它是一个全球领先…

逆向基础--C++ 运算符 (05)

逆向基础--C++ 运算符 (05)一.运算符C++的运算符 包括:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、其它运算符。1.1 算术运算符包括:+(加)  -(减)  *(乘)  /(除)  %(取模)  ++(整数值增加…

团队管理与技术驱动

好的,这两个问题是技术管理者核心价值的集中体现。下面我将结合具体实践,系统性地阐述我的管理理念和方法。团队管理与技术驱动 第一部分:技术选型、规划与三者平衡 我的核心理念是:技术是服务于业务和团队的工具,…

日总结 27

RFID,全称为射频识别,是一种利用无线电波进行非接触式自动识别的技术。 你可以把它想象成一个更先进的“条形码”。但与需要直线对准、一次只能扫描一个的条形码不同,RFID具有以下独特优势:非接触式: 无需看见即…

java linux 中文

您提到的“Java Linux 中文”可能是指在 Linux 系统中运行 Java 应用程序,或者与 Java 相关的 Linux 操作。以下是一些与 Java 和 Linux 相关的常见命令和脚本,帮助您更好地在 Linux 环境中使用 Java:一、Java 环境…

java linux jdk

你提到的“Java Linux JDK”可能是指在 Linux 系统上安装和使用 Java 开发环境(JDK)的相关内容。以下是一些常见的 Java 环境安装和管理方法,适用于大多数 Linux 发行版(如 Ubuntu、CentOS、Debian 等)。一、Java…

Mastercam2021软件界面

时间,滴答滴答在消失