首页 > 数据库 >Ubuntu 22.04 安装docker及部署mysql

Ubuntu 22.04 安装docker及部署mysql

时间:2024-11-22 16:19:18浏览次数:3  
标签:Ubuntu apt 22.04 https mysql docker Docker

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

Docker是一个开源的的容器化平台,它的应用范围是比较广的,主要应用场景有微服务架构、持续集成和持续部署(CI/CD)以及混合云与多云部署,对于我而言,我使用的场景是CI/CD,最近尝试了一下在Ubuntu 22.04系统上安装了docker,对于docker小白的我,遇到的坑比较多,好在最终成功了,中间查了很多文章,对我来说,有些地方说的比较笼统,结合我的实践,把docker安装流程捋明白一些。

一、查看Ubuntu内核版本

uname -r
# docker要求操作系统的内核版本在3.10及以上

二、安装docker前的环境准备

1.更新系统软件包列表

sudo apt update

2.安装必要的依赖包

代码如下(示例):

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

apt-transport-https:支持通过https获取软件包。
ca-certificates:提供证书验证机制,确保连接的安全性,能更安全的通过https下载所需要的软件包。
curl:命令行下的数据传输工具。
software-properties-common:方便管理软件源和软件属性,让用户更便捷的添加、删除以及更新软件源。

添加Docker官方的GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加Docker官方的软件源

Ubuntu 22.04

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Ubuntu 20.04

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Ubuntu 18.04

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu bionic stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

再次更新系统软件包列表

sudo apt update

安装Docker

sudo apt install docker-ce docker-ce-cli containerd.io

启动Docker

# 启动docker
systemctl start docker

# 验证docker是否安装成功
docker run hello-world

当你运行之后,会出现下方类似的报错

docker pull ubuntu
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 104.244.46.71:443: i/o timeout

出现这个问题就需要配置镜像加速,这位大佬的标题就是100%成功,哈哈哈,果然,执行完立马就好使了,嘎嘎好用。原文地址:

https://blog.csdn.net/weixin_46594796/article/details/142757626

大致指令如下:

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
          "https://8er86g8v.mirror.aliyuncs.com",
          "https://docker.1panel.live/"
  ]
}
EOF

执行完之后,再去拉取镜像,就会发现,它成功了,那么恭喜你,docker安装成功并拉取了你的第一个镜像。

三、mysql 容器部署

原理

我理解下来是创建的mysql容器是作为server端,Ubuntu系统,也即宿主机当作客户端,也就是在客户端去登录到服务端,去做一些操作。(个人理解哈,有问题可以评论给俺讲哈)

拉取mysql镜像

# 不指定mysql版本的话,docker默认拉取最新的版本
docker pull mysql:5.7
# 我这里使用的版本是5.7的,一般来说,新版都有潜在风险,所以整个稳定版本,可以避免一些问题,哈哈哈

确认Ubuntu上是否安装了mysql

# 我安装过了,执行结果如下
~# mysql --version
mysql  Ver 8.0.40-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

如果没有的话,会有提示,根据提示使用apt进行安装即可
贴心的我给你放在下方了

sudo apt-get install mysql-client

运行mysql docker

# 先确认mysql是否在运行
docker ps    
# 执行下面指令运行
docker run --name mysql_test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# --name 是给你起的这个容器创建一个名字  
#  -p  是把docker的3306端口映射到宿主机的3306端口 
#  -e  设置mysql容器的登录密码
#  -d  后台运行

远程登录mysql容器

mysql -h <宿主机IP地址> -u <用户名> -p
# 宿主机IP地址的查看,在Ubuntu上输入ifconfig,查看docker信息里,有一个inet后面跟的IP地址,那个就是宿主机的ip地址
# 用户名一般都是root

登录成功如下图:
在这里插入图片描述

总结

今天的分享到此结束,待我再深入研究研究,有收获再来分享,互联网小菜鸡在线学习中。

标签:Ubuntu,apt,22.04,https,mysql,docker,Docker
From: https://blog.csdn.net/qwer521we/article/details/143951829

相关文章

  • python批量修改mysql中某个字段的长度
    突然被告知DB中某个关键字段长度要增大,涉及到N张表,改起来超麻烦,想着用代码改,比较少写这种增删表或者改变表结构的代码,记录下。importpymysqldefmodifyFieldVarcharLen(config,new_column_length):connection=pymysql.connect(**config)try:withconn......
  • 【MySQL主从复制】揭秘高效数据库架构,轻松应对大数据挑战!
    MySQL主从复制概述MySQL主从复制是一种数据复制技术,用于将一个MySQL数据库服务器(主库)的数据实时复制到一个或多个MySQL数据库服务器(从库)。这种机制常用于实现读写分离、负载均衡和数据备份等目的。主从复制的基本步骤配置主库:在主库上启用二进制日志,并创建一个具有复......
  • mysql一次性写入大量数据的时候报错
     修改mysql配置参数解释1、innodb_buffer_pool_size=8G作用: 这是InnoDB存储引擎用于缓存表和索引数据的内存区域大小。 数据库主要从内存中读取数据而非磁盘,因此该值越大,系统性能越好(特别是对于大数据量的场景)。初始值: MySQL5.7及以下:通常为128MB。 ......
  • 免费送源码:Java+django+MySQL django 教师培训反馈系统 计算机毕业设计原创定制
           目   录摘  要IAbstractII第1章  前  言31.1 研究背景31.2 研究现状31.3 系统开发目标3第2章  系统开发环境62.1HTTP协议62.2HTML网页技术62.3B/S结构62.4django脚本语言72.5MySQL数据库72.6Apache简介8第......
  • win10同时安装Mysql5和mysql8
    1.下载安装包,解压。 2.添加环境变量,导入各自的bin到系统变量Path中。    3.进入mysql5的安装目录,新建my.ini文件,粘贴信息,注意更改安装目录路径。1[mysql]2#设置mysql客户端默认字符集3default-character-set=utf84[mysqld]5#设置3305端口6po......
  • 炸裂,MySQL9.0创新版发布!功能又进化了!
    炸裂,MySQL9.0创新版发布!功能又进化了!原创 MySQL 作者:wddwr7307914 时间:2024-07-0210:44:58  976  0作者:IT邦德中国DBA联盟(ACDU)成员,10余年DBA工作经验,Oracle、PostgreSQLACECSDN博客专家及B站知名UP主,全网粉丝10万+擅长主流Oracle、MySQL、PG、高斯及Greenp......
  • MySQL第一章 dos窗口mysql命令合集(超详细!!!)一篇就够了
    前言:        本章节主要学习MySQL数据库在dos窗口下的基础命令,sql语句等相关知识点,收录于MySQL基础系列,该系列主要讲解MySQL数据库dos命令/sql约束/sql语句/sql连接查询等相关知识点,欢迎童鞋们互相交流。觉得不错可以三连订阅喔。 目标:1连接Mysql1.1连接本机上......
  • mysql A表中的列数据 是否在B表中,存在那些列,不存在哪些列
    全部列数【65条】 不存在的列(22条)SELECTa.*FROMtest_unitaWHERENOTEXISTS(  SELECTb.`name`  FROMtra_unitb  WHEREa.name=b.name); 存在的列,以及其他列信息(43条)SELECTt2.name,t2.idFROM`test_unit`t1INNERJOINtra_unitt2ont1.......
  • 超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
    一.超聚变服务器iBMC远程管理超聚变服务器的iBMC芯片集成了一个专用的管理GE网口,提供全面的故障诊断、自动化运维、硬件安全加固等管理特性。iBMC支持Redfish、SNMP、IPMI2.0等标准接口,并提供基于HTML5/VNCKVM的远程管理界面。它支持监控、诊断、配置、Agentless及远程控制等......
  • python+pymysql
    python操作mysql一、python操作数据库1、下载pymysql库,方法一:pip3installpymysql或pipinstallpymysql方法二:在pycharm中setting下载pymysql2、打开虚拟机上的数据库3、pymysql连接(1)连接方式:pymysql.Connection或者pymysql.connect(2)包含内容a.host主机:填......