如何搭建docker虚拟机测试服

 更新时间:2025年08月23日 08:57:49   作者:北七星  
文章介绍如何搭建Docker虚拟机测试服,通过隔离环境、安装CentOS镜像并映射端口,配置安全组和域名转发,实现本地开发测试连接测试服数据库和Redis,感兴趣的朋友跟随小编一起学习吧

一、需求分析

优点:测试服与正式服环境隔离,配置简单,多个开发者可以共用一个测试数据库和redis

二、安装镜像

因为正式服是装了宝塔面板,所以直接在宝塔面板上安装docker。

因为需要的虚拟机linux要有完整的系统命令,docker安装镜像为 centos/systemd 

以特权模式创建容器,并把虚拟机内的 22,3306,6379端口映射到实体机的 22000,13306,16379端口

docker run -itd --privileged=true -p 22000:22 -p 13306:3306 -p 16379:6379 --name mytest systemd:latest

三、虚拟机内Linux配置和软件安装

#配置yum为阿里云的源
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum repolist 
#查看linux时区
timedatectl
<strong>#设置时区为上海(中国标准时间)</strong>
sudo timedatectl set-timezone Asia/Shanghai
timedatectl
#虚拟机安装java
java -version
yum list java*jdk-devel
yum install java-1.8.0-openjdk-devel -y
#修改ls/ll显示的时间格式  2023/07/31 15:30:00
vi ~/.bash_profile
# 文件末尾添加
export TIME_STYLE='+%Y/%m/%d %H:%M:%S'
# 使配置立即生效
source ~/.bash_profile
#查看虚拟机的IP,通常是172.17.0.2
ifconfig
#查看运行程序的端口
yum install -y net-tools
netstat -nlpt
<strong>#安装ssh</strong>
yum install -y openssh-server
# 编辑 SSH 配置文件
vi /etc/ssh/sshd_config
#启动和设置开机启动
systemctl start sshd
systemctl enable sshd
systemctl status sshd
#重置root密码(是从容器进来的,本来密码不知道)
passwd root
#在实体机中测试虚拟机中的端口连接
ssh root@172.17.0.2
exit
<strong>#安装mysql</strong>
#!注意 yum install -y mariadb-server 安装的是mysql5.5,版本很低
#下载mysql源安装包
yum install -y wget
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
#--nogpgcheck    不校验数字签名
yum -y install mysql-server --nogpgcheck
#启动
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
#MySQL 5.7 安装后会生成一个临时 root 密码:
cat /var/log/mysqld.log | grep password
mysql_secure_installation
#输入上面查到的默认密码,设置新密码(至少8位,必须包含 大小写字母、数字、特殊字符)
#进入mysql
mysql -p'密码'
show databases;
#开放root用户远程登录
UPDATE mysql.user SET Host='%' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
quit
<strong>#安装redis</strong>
#Redis 不在默认的 CentOS 仓库中,需先添加 EPEL仓库
yum install -y epel-release
yum install -y redis
systemctl start redis
systemctl enable redis
systemctl status redis
#进入redis
redis-cli
SET hello world
GET hello
quit
#开放外部访问  vi /etc/redis.conf
# 注释掉bind(默认仅监听本地)
# bind 127.0.0.1
# 关闭保护模式
protected-mode no
# 设置密码
requirepass 密码
#然后重启redis
systemctl restart redis
<strong>#安装nginx</strong>
yum install -y nginx
systemctl start nginx
systemctl enable nginx
systemctl status nginx
#nginx配置文件在/etc/nginx/nginx.conf
#虚拟机中的nginx不需要https
#此镜像中没有防火墙,不需要打开防火墙端口
#firewall-cmd --permanent --add-port=22/tcp
#firewall-cmd --permanent --add-port=3306/tcp
#firewall-cmd --permanent --add-port=6379/tcp
#firewall-cmd --permanent --add-port=80/tcp
#firewall-cmd --reload
#清理yum的硬盘空间
yum clean all

四、回到实体机中

测试端口和开放防火墙端口

telnet 172.17.0.2 3306
quit
telnet 172.17.0.2 6379
quit
telnet 172.17.0.2 80
quit
#开放防火墙端口
firewall-cmd --permanent --add-port=22000/tcp
firewall-cmd --permanent --add-port=13306/tcp
firewall-cmd --permanent --add-port=16379/tcp
firewall-cmd --reload

阿里云等的安全组,添加开放端口(最好指定IP)

#服务器配置系统hosts,把demo域名指向docker内网IP

vi /etc/hosts
172.17.0.2 demo.batsing.com

Nginx中配置vhost,将demo域名转发到域名自身

server {
    listen            80;
    server_name        demo.batsing.com;
    location / {
        proxy_pass    http://demo.batsing.com;
        proxy_set_header X-Real-IP $remote_addr;                                                   
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
    }
}

#虚拟机中配置网站
#参考一般的网站配置即可

五、本地开发与测试

日常用 batsing.com:22000 登录测试服,更新代码重启等

本地开发测试,数据库连接远程的 batsing.com:13306 ,Redis连接远程的 batsing.com:16379

到此这篇关于搭建docker虚拟机测试服的文章就介绍到这了,更多相关docker虚拟机测试服内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决docker push报错denied问题

    解决docker push报错denied问题

    Docker Push权限错误需先登录私有仓库,创建项目并打指定tag,若推送到Docker Hub个人仓库,确保登录信息正确,权限匹配即可完成推送
    2025-08-08
  • 浅谈Windows平台上Docker安装与使用

    浅谈Windows平台上Docker安装与使用

    本篇文章主要介绍了浅谈Windows平台上Docker安装与使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Docker查看容器IP地址的方法实现

    Docker查看容器IP地址的方法实现

    本文主要介绍了Docker查看容器IP地址的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • docke自定义网络之容器互联

    docke自定义网络之容器互联

    大家好,本篇文章主要讲的是docke自定义网络之容器互联,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • 国内服务器配置Docker国内源(极限加速)

    国内服务器配置Docker国内源(极限加速)

    本文主要介绍了国内服务器配置Docker国内源,用户可以在CentOS服务器上成功安装并使用国内镜像加速器来提升Docker的使用,感兴趣的可以了解一下
    2025-02-02
  • docker如何给已存在的容器添加或修改端口映射

    docker如何给已存在的容器添加或修改端口映射

    这篇文章主要介绍了docker如何给已存在的容器添加或修改端口映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • 基于docker搭建selenium分布式环境

    基于docker搭建selenium分布式环境

    这篇文章主要介绍了基于docker搭建selenium分布式环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 使用 Docker安装 Zabbix并配置自定义监控项的过程详解

    使用 Docker安装 Zabbix并配置自定义监控项的过程详解

    Zabbix 可以用来监控各种网络参数,来保证服务器和系统的安全运行,是一个基于 Web 界面提供的分布式系统监控以及网络监控功能的企业级开源解决方案,对Docker 安装 Zabbix配置自定义监控项相关知识感兴趣的朋友一起看看吧
    2022-04-04
  • Docker安装Redis并介绍可视化客户端进行操作

    Docker安装Redis并介绍可视化客户端进行操作

    这篇文章主要介绍了Docker安装Redis并介绍可视化客户端进行操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • docker挂载NVIDIA显卡运行pytorch的方法

    docker挂载NVIDIA显卡运行pytorch的方法

    这篇文章主要介绍了docker挂载NVIDIA显卡运行pytorch的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-02-02

最新评论