Docke 搭建 apache2 + php8 + MySQL8 环境
- Docker 安装
curl -fsSL https://get.docker.com/ | sh
sudo service docker start
sudo service docker status
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201358268-713382652.png)
sudo groupadd docker # 新建用户组
sudo gpasswd -a $USER docker #将登录用户加入docker组
newgrp docker #更新用户组
docker images
docker search 名称
docker pull 名称
docker run -it -d -p 8000:80 镜像编号/名称 /bin/sh
-it #表示用终端操控
-d #表示后台运行
-p #表示把容器的 80 端口映射到 物理机的 8000 端口
docker ps
docker stop 容器编号
docker exec -it 容器编号 bash
- apache2搭建
搜索有关于 apache2 的容器
docker search apache2
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201357680-577189987.png)
docker pull ubuntu/apache2
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201358218-1209440626.png)
docker images
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201358159-415075229.png)
docker run -it -d -p 8000:80 ubuntu/apache2:latest /bin/sh
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201358134-391622005.png)
docker exec -it 2af38a bash
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201357623-1994107340.png)
service apache2 start
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201357648-753668507.png)
localhost:8000
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201358343-859729178.png)
vim /var/www/html/1.php
# /var/www/html 是网站文件存放路径
apt update #更新
apt install vim #安装 vim
<?php phpinfo(); ?>
localhost:8000/1.php
- php 搭建
apt install php apt install php-mysql
service apache2 restart
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201358321-717887045.png)
- MySQL 搭建
docker run -it -d -p 3000:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql(编号) /bin/sh
# -e 默认mysql账号 root 密码 123456
![](https://img2022.cnblogs.com/blog/1446741/202208/1446741-20220822201358209-217625297.png)
docker exec -it 4fc917 bash service mysql start
mysql -u root -p
# 或者
mysql
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
cat /etc/mysql/debian.cnf 用debian.cnf里面的用户名和密码来登录
use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
sudo service mysql restart
创建远程用户并赋予权限
CREATE USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
mysql -uadmin -p123456 -h本机ip -P3000
chown -R www-data:www-data /var/www/upload
Docke 搭建 apache2 + php8 + MySQL8 环境的更多相关文章
- Mac下docker搭建lamp本地开发环境
1.先在Mac上下载docker:官网下载:下载地址(选择mac版本下载,可能速度较慢) DaoCloud下载:下载地址(速度较快,可能版本较低) 2.装完之后打开: 3.检查一下是否下载成功: $ ...
- 使用docker搭建selenium grid 分布式环境
本文章只做docker搭建selenium grid 分布式环境步骤说明,对于selenium grid中的参数.流程.原理等不做说明.selenium grid的详细情况可查看官方文档https:/ ...
- 史上最全Windows版本搭建安装React Native环境配置
史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...
- 用grunt搭建web前端开发环境
1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...
- Windows下搭建Spark+Hadoop开发环境
Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 使用IntelliJ IDEA 13搭建Android集成开发环境(图文教程)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- ubuntu-14.04服务器版下搭建apache2+svn+svnmanager服务
本人linux小白,新进公司,被分配此任务,好崩溃,只能一边百度linux命令一边完成任务.从装系统开始一直到搭建好服务,也快一周了,足见水平之差,以下博文基本靠网络,再加上自己的摸索,直至搭建成功. ...
随机推荐
- Sentinel与OpenFeign 服务熔断那些事
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 sentinel,即可免费获取源码 在上一篇中,我们讲解了 Senti ...
- Redis中的原子操作(2)-redis中使用Lua脚本保证命令原子性
Redis 如何应对并发访问 使用 Lua 脚本 Redis 中如何使用 Lua 脚本 EVAL EVALSHA SCRIPT 命令 SCRIPT LOAD SCRIPT EXISTS SCRIPT ...
- python中f'{}'用法
python3.6增加的方法,字符串定义以f开头,可以使用{}包裹变量,方便字符串的定义. 有些时候很懒,碰到写的比较清晰的就直接搬运:https://blog.csdn.net/weixin_387 ...
- 线程安全性-原子性之Atomic包
先了解什么是线程安全性:当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称为这个类是线程 ...
- LoRa和NB-IoT会长期共存吗?
物联网有很多无线通信技术,主要是Zigbee,WiFi,蓝牙和Z-wave等短距离通信技术,另一种是LPWAN.LPWAN的两种类型之一在未授权的频谱上工作.另一种是2G/3G/4G蜂窝通信技术,该技 ...
- Linux常用操作:文件及文件夹
一.创建 (1)mkdir 创建一个目录 (2)touch 创建一个空文件 注:-r 表示递归操作 二.删除 rm 删除文件 rm -r 删除目录 rm -r * 删除目录下的所有文件 注:-f 不用 ...
- WAVE音频格式及及转换代码
音频信号的读写.播放及录音 python已经支持WAV格式的书写,而实时的声音输入输出需要安装pyAudio(http://people.csail.mit.edu/hubert/pyaudio).最 ...
- BUUCTF-隐藏的钥匙
隐藏的钥匙 通过16进制打开发现flag,其中告知编码为base64,解密后加上flag{}即可 flag{377cbadda1eca2f2f73d36277781f00a}
- label问题排查:打不开标注好的图像
问题描述 之前标注好的文件,标注有bbox和若干points.选择Open Dir打开图像目录,选择Change Output Dir选择json文件所在目录.发现有些图片能正常显示标注后的状态.而有 ...
- GameFramework食用指南
1.框架简介 GF框架分两部分,GameFramework(GF)和UnityGameFramework(UGF): 通过接口的形式对Unity引擎进行了解耦: GF独立于Unity,具体业务逻辑实现 ...