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

阿里云镜像地址获取,并安装 docker的mysql和nginx等服务,java,python,ffmpeg,go等环境

阿里云那个镜像地址获取

阿里云镜像加速器不是一个通用的 registry.cn-hangzhou.aliyuncs.com,而是你账号专属的,比如这样:

https://abcd1234.mirror.aliyuncs.com

👉 登录阿里云控制台获取:
阿里云镜像加速器

然后替换 /etc/docker/daemon.json 里面的地址:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://<你的专属ID>.mirror.aliyuncs.com"]
}
EOFsudo systemctl daemon-reload
sudo systemctl restart docker

mysql

数据持久化(推荐)

这样容器删除后,数据还在:

docker run -d \--name mysql8 \-p 3310:3306 \-e MYSQL_ROOT_PASSWORD=root \-v /mydata/mysql8:/var/lib/mysql \mysql:8.0

这里 /mydata/mysql8 是宿主机目录,用来保存 MySQL 数据文件。


要不要我顺便帮你写一个 docker-compose.yml,这样以后你只要 docker-compose up -d 就能快速启动?

nginx

👌 对,你理解的没错。
用 Docker 跑 Nginx 的时候,一般需要:

  1. 把宿主机的前端项目文件夹映射到容器的 /usr/share/nginx/html(这样才能访问你自己的前端项目);

  2. 把宿主机的 Nginx 配置文件挂载到容器的 /etc/nginx/conf.d(这样可以修改 Nginx 配置,不用进容器)。

我给你一个完整的安装步骤:


1. 先拉取 nginx 镜像

docker pull nginx:latest

2. 在 Linux 上创建目录

假设你前端项目代码放在 /mydata/frontend,Nginx 配置放在 /mydata/nginx/conf

mkdir -p /mydata/frontend
mkdir -p /mydata/nginx/conf

3. 准备一个默认配置文件

创建 /mydata/nginx/conf/default.conf

touch /mydata/nginx/conf/default.conf

只写server的内容就行

server {listen       80;server_name  localhost;location / {root   /usr/share/nginx/html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}
}

4. 启动 Nginx 容器

把端口、项目文件夹、配置文件都映射出来:

docker run -d \--name nginx \-p 8080:80 \-v /mydata/frontend:/usr/share/nginx/html \-v /mydata/nginx/conf:/etc/nginx/conf.d \nginx:latest

5. 验证是否成功

  • 浏览器访问:http://你的服务器IP:8080

  • 如果看到你放在 /mydata/frontend/index.html 的页面,就说明成功了。

  • 修改 /mydata/nginx/conf/default.conf 后,只需要重启容器:

docker restart nginx

修改配置

验证配置是否正确

docker exec -it nginx nginx -t
 

修改配置并重新加载

vi /mydata/nginx/conf/default.conf
docker exec -it nginx nginx -s reload

 

总结:

  • /mydata/frontend → 存放前端项目(宿主机和容器共享)。

  • /mydata/nginx/conf → 存放配置文件。

  • Nginx 在容器里会用你宿主机的配置和静态文件。


要不要我帮你直接写一个 docker-compose.yml?这样你就只需要 docker-compose up -d 就能跑起来,不用记长命令。

redis

👌 好的,很简单,我给你一个最小化的 Redis Docker 启动命令,不用密码,端口映射到 6389


命令启动方式

docker run -d \--name redis6389 \-p 6389:6379 \redis:latest \redis-server --appendonly yes --requirepass ""

说明

  • --name redis6389 :容器名字叫 redis6389

  • -p 6389:6379 :宿主机的 6389 → 容器里的 6379(Redis 默认端口)

  • redis:latest :拉取最新版 Redis

  • redis-server --appendonly yes :开启持久化(避免宕机数据丢失)

  • --requirepass "" :不设置密码(空字符串 = 无密码)


进入 Redis

docker exec -it redis6389 redis-cli -p 6379

或者直接从宿主机连接:

redis-cli -h 127.0.0.1 -p 6389

持久化(推荐)

如果你想让数据保存在宿主机,比如放在 /mydata/redis 目录:

docker run -d \--name redis6389 \-p 6389:6379 \-v /mydata/redis:/data \redis:latest \redis-server --appendonly yes --requirepass ""

要不要我给你顺手写个 docker-compose.yml,这样以后你一条命令就能启动 Redis(端口 6389,无密码,带持久化)?

Java环境

Yum 安装(可能是 OpenJDK 21)

先检查仓库里是否有 JDK 21:

yum search java-21

如果能找到(例如 java-21-openjdk),直接安装:

sudo yum install -y java-21-openjdk java-21-openjdk-devel

验证:

java -version

嗯,我懂了 👍

你之前确实执行过安装 JDK 21 的命令,但现在运行 java -version 看到的还是 Java 11,说明系统上 可能已经安装了 Java 21,但默认版本还没切换过去

在 CentOS / RHEL 系统里,默认的 Java 版本由 alternatives 控制。

你可以用下面的命令查看和切换:

# 查看系统已安装的 Java 版本
alternatives --display java# 或者交互式选择版本
alternatives --config java

执行 alternatives --config java 后,你会看到类似这样的列表:

There are 2 programs which provide 'java'.Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-11-openjdk-11.0.25/bin/java2           /usr/lib/jvm/java-21-openjdk-21.0.2/bin/javaEnter to keep the current selection[+], or type selection number:

👉 你只需要输入 2(对应 java-21)回车,就能切换到 Java 21。

然后再验证:

java -version

就应该显示 openjdk version "21.0.x"


要不要我帮你写一套命令,直接一步到位:

  1. 检查系统有没有装 java-21

  2. 如果没有就安装

  3. 自动切换到 java-21 并验证


python环境

明白了 😅,你当前的 Alibaba Cloud Linux 系统 不支持 DNF 模块管理,所以 dnf module list python 返回为空。这种情况下,系统仓库里没有 Python 3.10 包,只能用 源码编译安装

下面我给你一个 完整一键安装 Python 3.10 的方案(源码安装 + 配置环境变量 + pip):


一键安装 Python 3.10(源码)

# 1. 安装依赖
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gcc gcc-c++ make bzip2 bzip2-devel zlib-devel xz-devel libffi-devel wget# 2. 下载 Python 3.10.15 源码
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.10.15/Python-3.10.15.tgz
sudo tar xzf Python-3.10.15.tgz
cd Python-3.10.15# 3. 编译安装到 /usr/local/python3.10
sudo ./configure --enable-optimizations --prefix=/usr/local/python3.10
sudo make -j$(nproc)
sudo make altinstall  # 注意:使用 altinstall 避免覆盖系统 python# 4. 配置环境变量
sudo tee /etc/profile.d/python3.10.sh <<'EOF'
export PATH=/usr/local/python3.10/bin:$PATH
EOF
source /etc/profile.d/python3.10.sh# 5. 验证
python3.10 --version
pip3.10 --version

说明

  • make altinstall:避免覆盖系统默认 Python(防止破坏系统工具)

  • 安装路径 /usr/local/python3.10:独立版本,不影响系统自带 Python

  • pip 会随 Python 一起安装

  • 使用 source /etc/profile.d/python3.10.sh 刷新环境变量


如果你需要,我可以帮你写一个 脚本版直接一条命令执行完所有步骤,安装完成后可以直接使用 python3.10pip3.10

你希望我写吗?

python安装依赖-节约内存写法

python3.10 -m pip install --no-cache-dir -r requirements.txt

ffmpeg安装

明白了,你现在的系统是 阿里云定制的 Linux 8(alinux3),阿里云 EPEL 源里并没有 ffmpeg 包,所以 yum install ffmpeg 找不到。官方 EPEL 也冲突,直接安装失败。

有两种解决方案:


方案 1:使用 RPM 包直接安装 ffmpeg

  1. 下载适合 CentOS 8 / RHEL 8 的 ffmpeg 静态包:

cd /tmp
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
tar -xvf ffmpeg-release-amd64-static.tar.xz
sudo cp ffmpeg-*/ffmpeg ffmpeg-*/ffprobe /usr/local/bin/
sudo chmod +x /usr/local/bin/ffmpeg /usr/local/bin/ffprobe
ffmpeg -version

这样可以快速安装,不用管 yum 源。



文章转载自:

http://GA7Y17ux.tsnmt.cn
http://uZsZbjMv.tsnmt.cn
http://wRunqyFg.tsnmt.cn
http://jQgcjMpg.tsnmt.cn
http://J8Q6VqK5.tsnmt.cn
http://rPXS8oVk.tsnmt.cn
http://weXECj03.tsnmt.cn
http://bt6QZ6Yf.tsnmt.cn
http://KaoNQpIH.tsnmt.cn
http://YpDKeuq0.tsnmt.cn
http://jQNPkm2w.tsnmt.cn
http://w7tMm1XZ.tsnmt.cn
http://ctxPuovw.tsnmt.cn
http://3xjQ9zzs.tsnmt.cn
http://6KcANt3I.tsnmt.cn
http://rCeZMlrn.tsnmt.cn
http://rstsSF1K.tsnmt.cn
http://ReGcAJnU.tsnmt.cn
http://pHnk8xrl.tsnmt.cn
http://oNqo1yRi.tsnmt.cn
http://d0WR00Ld.tsnmt.cn
http://mpeHQTV1.tsnmt.cn
http://fgRqT5kx.tsnmt.cn
http://mc0UNqsK.tsnmt.cn
http://2yJHlGdq.tsnmt.cn
http://LT7EXSPz.tsnmt.cn
http://PSfrcwkf.tsnmt.cn
http://INjCo1Kk.tsnmt.cn
http://OoyIdnvY.tsnmt.cn
http://YoqQPawX.tsnmt.cn
http://www.dtcms.com/a/371542.html

相关文章:

  • IPSec综合配置实验
  • 实现滚动到页面指定位置
  • Linux 系统监控 + 邮件告警实战:CPU、内存、IO、流量全覆盖
  • HarmonyOS 应用开发新范式:深入剖析 Stage 模型与 ArkTS 状态管理
  • Elasticsearch面试精讲 Day 11:索引模板与动态映射
  • 5G NR PDCCH之信号调制
  • Android --- AOSP下载及编译
  • C#中的托管资源与非托管资源介绍
  • 初识Vue
  • JSP到Tomcat特详细教程
  • 滑动窗口与双指针(1)——定长
  • Lua > OpenResty Lua Module
  • [LeetCode 热题 100] 32. 最长有效括号
  • Python IO编程——文件读写
  • fps:游戏玩法
  • S 4.1深度学习--自然语言处理NLP--理论
  • [NCTF2019]Fake XML cookbook
  • ARM体系结构学习②
  • 多环境配置切换机制能否让开发与生产无缝衔接?
  • SC3336 rgb sensor linux
  • 人工智能学习:Transformer架构
  • Android --- AOSP源码导入Android Studio
  • 华为HCIP-Datacom-Core Technology H12-831 书籍目录
  • (RDFS)随机深度特征选择方法解释:简而言之,RDFS主要针对的是恶意的服务器,它建立在客户端是诚实的前提下。
  • 《从使用到源码:OkHttp3责任链模式剖析》
  • 华为IP(9)
  • 【秋招笔试】2025.09.03华为研发岗
  • 动态维护有效区间:单调栈
  • Ubuntu 22 安装 postgresql-17.4
  • Linux环境下配置visual code