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

Docker简单介绍与使用以及下载对应镜像(项目前置)

  • Docker
    • Docker安装
    • Docker卸载
    • Docker配置镜像源
      • 配置镜像加速
    • Docker服务命令
      • 1.镜像操作命令
      • 2.容器操作命令
    • 安装Mysql
    • **数据卷挂载**

Docker

image-20250619191322288


在linux中软件安装说起:

以前在linux中安装软件,是直接安装在linux操作系统中,软件和操作系统耦合度很高,不方便管理.

因为linux版本不同,环境也就不同了.

docker是一种容器技术(软件),提供标准的应用镜像(包含应用+应用的依赖) , 我们就可以非常轻松在docker中安装应用,每一个应用安装好后,就是一个独立的容器.解决软件跨环境迁移的问题


主要功能:

  • 打包: 可以把软件以及软件的依赖打包制作成一个镜像 (例如后面把springboot和jdk打包成一个镜像)

  • 分发: 可以把打包好的镜像上传到镜像仓库,或者其他的linux系统中

  • 部署: 可以非常方便的进行安卓,只需要一个命令即可.


Docker安装

1.安装yum配置工具

yum install  -y  yum-utils

image-20250619192827251


2.配置docker的yum源

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

image-20250619192937874

image-20250619193031606


3.安装

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

image-20250619193616356


4.测试

docker -v

image-20250619193637702


5.启动,关闭,开机启动

systemctl start dockersystemctl stop dockersystemctl 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"]}

重载配置

 systemctl daemon-reload

重启

systemctl restart docker

Docker服务命令

镜像(image):Docker将应用程序以及所需依赖、函数库、环境、配置等文件打包在一起,称为镜像

容器(container):镜像中的应用程序运行后形成的进程就行容器,只是Docker会给容器做隔离,对外部不可见

docker命令分两大类:

1.镜像操作命令

从镜像仓库下载镜像到docker本地

docker pull [应用]

查看本地镜像

docker images

1720925874307

删除docker镜像

docker rmi  镜像名:版本/镜像id

从docker保存镜像到linux本地( 需要保存到linux中那个目录, 进入到指定目录执行保存命令)

docker save 镜像名  > 镜像名.tar

从linux本地 加载镜像到docker中

docker load  镜像名  <  镜像名.tar

image-20250619202154321

2.容器操作命令

通过镜像安装

docker run 参数

查看容器

docker ps -a

启动镜像

docker start 容器名

停止容器

docker stop 容器名

删除容器(卸载)

docker rm 容器名

image-20250619205547973

安装Mysql

1.下载mysql镜像

​ 在线下载 docker pull mysql:8.0

​ 加载本地镜像 docker load

下载成功!!

image-20250619203945726

下载网络问题

从Docker拉取镜像一直失败超时?这些解决方案帮你解决烦恼_docker拉取镜像超时-CSDN博客

如果下载存在网络问题,则在vim daemon.json添加一下设置

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

image-20250619203758097

2.安装mysql容器

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

image-20250619205946020

3.启动,停止,删除容器

docker start  容器名  启动容器docker stop  容器名    停止容器docker rm 容器名      删除容器docker logs  容器名   查询容器日志

4.进入到容器中的命令行

 docker   exec  -it  容器名    bash

image-20250619210548224

进入mysql
mysql -uroot -proot

image-20250619210628390

在mysql创建新的连接

Address写自己虚拟机地址

eg我自己ip:192.168.80.128

image-20250619211005943

此时发现sql连接失败,这是由于两边密码的加密方式不一样,所以我们需要改变加密方式

改变加密方式在mysql终端

ALTER USER  'root'@'%'  IDENTIFIED WITH mysql_native_password BY  'root';

image-20250619211215610

此时再去连接

image-20250619211238876

image-20250619211255982

退出

exit

数据卷挂载

容器是封闭的,与外界隔离的, 如果需要操作容器内的文件不方便,

可以将容器内的目录 与 容器外(linux)中的目录建议映射 挂载

创建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

image-20250619215334292

相关文章:

  • CVE-2024-6387漏洞、CVE-2025-26465漏洞、CVE-2025-26466漏洞 一口气全解决
  • 【JS-4.3-鼠标常用事件】深入理解DOM鼠标事件:全面指南与最佳实践
  • FPGA四十年创新:因仿真加速而生,AI加速而盛!
  • 股票账户的管理和交易
  • 车载电子电器架构 --- 法律和标准对电子电气架构的影响
  • Mac电脑-Markdown编辑器-Typora
  • 数据库part3---表关联、索引、视图
  • 深入浅出:Go语言中的Cookie、Session和Token认证机制
  • Vibe Coding - 进阶 Cursor Rules
  • gRPC 框架面试题精选及参考答案
  • C++模板基础
  • Python实现MySQL建表语句转换成Clickhouse SQL
  • OpenAI与微软的未来合作之路:充满挑战的AI竞赛与共赢
  • [Github]GitHub 2FA快速安全配置全攻略
  • 前端登录不掉线!Vue + Node.js 双 Token 无感刷新方案
  • RJ45 网口实现千兆传输速率(1Gbps)的原理,涉及物理层传输技术、线缆标准、信号调制及网络协议等多方面的协同设计。以下从技术维度展开详细解析:
  • 经典:在浏览器地址栏输入信息到最终看到网页的全过程,涉及网络协议以及前后端技术
  • day11——Java面向对象高级:多态、抽象类与接口深度解析
  • 5.2 Qt Creator 使用FFmpeg库
  • 【09】设计并实现一套面向 Agent 任务规划的 DSL 语言
  • 郑州网站建设优化/网络宣传推广方案范文
  • 网站建设有名的公司/免费代理上网网站
  • 西安专业做网站的公司有哪些/seo网站推广实例
  • 专业做网站公司排名/淘宝seo关键词的获取方法有哪些
  • 河源网站搭建费用/长沙关键词优化服务
  • 网站新闻收录问题/b站推广网站入口2023是什么