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

9、阿里云 Ubuntu22.04、安装docker、mysql、mongodb

一、开启远程登录

sudo vim /etc/ssh/sshd_config修改下面的值
PermitRootLogin yes
PubkeyAuthentication yessudo systemctl reload sshdsudo passwd root

二、安装docker

卸载旧版本

旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本:

sudo apt-get remove docker docker-engine docker.io
使用 APT 安装

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg# 官方源
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

然后,我们需要向 sources.list 中添加 Docker 软件源

echo \"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null# 官方源
# $ 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
安装 Docker

更新 apt 软件包缓存,并安装 docker-ce

sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin# 验证安装版本
docker --version# 显示出
Docker version 27.1.1, build 6312585

三、安装docker-compose

mkdir /root/folder
cd /root/folder
wget https://github.com/docker/compose/releases/download/v2.29.1/docker-compose-linux-x86_64# 下载很慢可以浏览器下载后上车到服务器
scp docker-compose-linux-x86_64 root@x.x.x.x:/root/foldersudo mv /root/folder/docker-compose-linux-x86_64 /usr/local/bin/docker-compose# 赋予可执行权限:
sudo chmod +x /usr/local/bin/docker-compose# 验证 Docker Compose 是否正确安装:
docker-compose --version# 显示出
# Docker Compose version v2.29.1

四、安装mysql和mongodb

mkdir -p /root/folder/docker-data
cd /root/folder/docker-data
mkdir data
mkdir -p data/mysql_data
mkdir -p data/mongodb_data
vim docker-compose.yml
networks:docker-net-01:driver: bridgeservices:mysql:container_name: mysql_5.7_01image: "mysql:5.7"restart: alwaysports:- 3306:3306environment:MYSQL_ROOT_PASSWORD: rootpasswordMYSQL_DATABASE: mydatabaseMYSQL_USER: myuserMYSQL_PASSWORD: mypasswordvolumes:- ./data/mysql_data:/var/lib/mysqlnetworks:- docker-net-01mongodb:container_name: mongodb_4.0_01image: "mongo:4.0"restart: alwaysports:- 27017:27017environment:MONGO_INITDB_ROOT_USERNAME: rootMONGO_INITDB_ROOT_PASSWORD: rootpasswordvolumes:- ./data/mongodb_data:/data/dbnetworks:- docker-net-01

 如果想要安装其他的中间件可以修配配置文件,例如安装Redis

networks:docker-net-01:driver: bridgeservices:redis:container_name: redis_01image: "redis:latest"restart: alwaysports:- 6379:6379volumes:- ./data/redis_data:/dataenvironment:- REDIS_PASSWORD=tiktok- ALLOW_EMPTY_PASSWORD=nonetworks:- docker-net-01mysql:container_name: mysql_5.7_01image: "mysql:5.7"restart: alwaysports:- 3306:3306environment:MYSQL_ROOT_PASSWORD: rootpasswordMYSQL_DATABASE: mydatabaseMYSQL_USER: myuserMYSQL_PASSWORD: mypasswordvolumes:- ./data/mysql_data:/var/lib/mysqlnetworks:- docker-net-01mongodb:container_name: mongodb_4.0_01image: "mongo:4.0"restart: alwaysports:- 27017:27017environment:MONGO_INITDB_ROOT_USERNAME: rootMONGO_INITDB_ROOT_PASSWORD: rootpasswordvolumes:- ./data/mongodb_data:/data/dbnetworks:- docker-net-01

 

root@iZ2vc:~/folder/docker-data# tree
.
├── data
│   ├── mongodb_data
│   └── mysql_data
└── docker-compose.yml3 directories, 1 file
root@iZ2vc:~/folder/docker-data#
docker-compose up -d
# 下载太慢,还源地址sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["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
docker-compose up -d
root@iZ2vc:~/folder/docker-data# docker-compose up -d
[+] Running 25/25✔ mysql Pulled                                                                                                                         31.6s✔ 20e4dcae4c69 Pull complete                                                                                                          
...                                                                                        29.5s✔ df9a4d85569b Pull complete                                                                                                         29.6s✔ mongodb Pulled                                                                                                                       68.7s✔ 58690f9b18fc Pull complete      
...                                                                                                                                                                                                     66.4s✔ 22b97876323d Pull complete                                                                                                         66.4s
[+] Running 3/3✔ Network docker-data_docker-net-01  Created                                                                                            0.1s✔ Container mongodb_4.0_01           Started                                                                                            2.2s✔ Container mysql_5.7_01             Started                                                                                            2.2s
root@iZ2vc:~/folder/docker-data#
docker ps --format "table {{.ID}}\t{{.Ports}}\t{{.Names}}"
root@iZ2vc:~/folder/docker-data# docker ps --format "table {{.ID}}\t{{.Ports}}\t{{.Names}}"
CONTAINER ID   PORTS                                                  NAMES
62c3e40fb1d1   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp          mongodb_4.0_01
9a89fbae8cc2   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql_5.7_01
root@iZ2vc:~/folder/docker-data#

链接进入容器,比如进入 “mysql_5.7_01”

docker exec -it mysql_5.7_01 bash

进入容器后,你就可以在容器内执行命令或操作 MySQL 了。如果你需要直接连接到 MySQL 数据库,你可以使用 MySQL 客户端工具(如 mysql 命令行工具),密码在 docker-compose.yml 的配置文件里面有,看自己的设置:

mysql -u root -p

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • JVM知识总结(类加载器)
  • 医疗大健康解决方案HIS方案
  • C# Unity 面向对象补全计划 七大原则 之 迪米特法则(Law Of Demeter )难度:☆☆☆ 总结:直取蜀汉
  • MongoDB的复合通配符索引详解
  • ulimit
  • ShardingSphere之ShardingProxy集群部署
  • C# 在Word中插入或删除分节符
  • 创建一个简单的贪吃蛇游戏:HTML、CSS和JavaScript教程
  • VS2022使用.Net Framework4.0方法
  • 【实战营彩蛋InternLM 1.8B 模型 Android 端侧部署实践
  • GitHub开源项目精选:用React、TypeScript和Framer Motion复刻MacOS桌面
  • 内核函数调试
  • 机械学习—零基础学习日志(数学基础汇总1)
  • 如何识别并防御漏洞扫描类攻击
  • 大数据环境下用户数据隐私安全防护系统的设计与实现(论文+源码)_kaic
  • 「译」Node.js Streams 基础
  • Koa2 之文件上传下载
  • node学习系列之简单文件上传
  • Python中eval与exec的使用及区别
  • React Native移动开发实战-3-实现页面间的数据传递
  • Redis的resp协议
  • Vue 重置组件到初始状态
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 记一次用 NodeJs 实现模拟登录的思路
  • 开源SQL-on-Hadoop系统一览
  • 排序算法学习笔记
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前嗅ForeSpider采集配置界面介绍
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 我的面试准备过程--容器(更新中)
  • 小程序01:wepy框架整合iview webapp UI
  • 智能网联汽车信息安全
  • 中文输入法与React文本输入框的问题与解决方案
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # Redis 入门到精通(九)-- 主从复制(1)
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • ###C语言程序设计-----C语言学习(6)#
  • #Lua:Lua调用C++生成的DLL库
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #QT(QCharts绘制曲线)
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (1)Android开发优化---------UI优化
  • (1)bark-ml
  • (libusb) usb口自动刷新
  • (二)pulsar安装在独立的docker中,python测试
  • (二十六)Java 数据结构
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (三)elasticsearch 源码之启动流程分析
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)