当前位置:   article > 正文

Mac M1 搭建Web服务器(centos7+[宝塔+Docker])_m1搭建宝塔面板

m1搭建宝塔面板

1、首先准备一台Mac M1(arm64v8架构) 说明:docker hub上要准确的选择自己电脑Cpu的架构才能成功的构建自己的镜像与容器。

M1芯片是arm64架构,也称作aarch64架构,只能运行arm64/aarch64架构的程序

2、根据自己的操作系统下载Docker Desktop for Mac and Windows | Docker

ps:如果你是mac,我相信你一定会使用 brew install --cask docker(如果你使用搜索引擎搜索下载的话一定是brew cask install docker 【官方已经取消了cask 而是使用参数 --cask】)

3、安装成功后你会面临几个后面遇到的问题让我们来先把问题抛出来

  • 主机的文件如何才能与容器中的web目录对应同步【目的:为了实时同步代码避免不必要的操作】
  • 主机的端口号与容器端口号如何设置【端口号不可以随便设置的哦!而且不同浏览器还有不同的端口安全策略,后面我会给出来我自己设置的端口】
  • 当一切安装好后,并且准备centos中使用再来个docker时你会发现mac m1怎么样都无法启动docker服务【这里会麻烦一点后面也会将】

4、搭建Web服务器

一、安装centos7

由于是M1则使用的是arm64v8/centos

docker pull arm64v8/centos:centos7 

我们需要设置【主机的文件如何才能与容器中的web目录对应同步

 设置完成后我们需要创建容器并且提前为容器开出映射端口和容器的特殊权限

映射端口:使宿主机可以访问容器服务

容器的特殊权限:获取宿主机root权限

docker run -d --name dev-centos -v /opt/homebrew/var/www:/www/wwwroot/www --privileged=true -p 10022:22 -p 27017:27017 -p 10006:3306 -p 5045:80 -p 5046:8080 -p 10088:8888 arm64v8/centos:centos7 /usr/sbin/init

命令和参数解释:红色固定参数/绿色可变参数后面不在强调

docker run : 创建一个新的容器并运行一个命令

-d :使容器后台运行

--name:创建新的容器名字

dev-centos:自定义的容器名

-v : 挂载参数

/opt/homebrew/var/www:/www/wwwroot/www        宿主机挂载绝对路径:容器使用宿主机文件的绝对路径(在设置界面中如果不设置挂载路径则会报错,所以我们提前就设置好了,根据自己所需设置和配置 ps:不要设置/etc/。会无法挂载)

--privileged=true :开启容器特权模式

-p 10022:22 -p 27017:27017 -p 10006:3306 -p 5045:80 -p 5046:8080 -p 10088:8888【宿主机端口映射容器端口 当你想访问容器服务时,如访问容器的mysql服务则需要在宿主机中访问10006端口】【主机的端口号与容器端口号如何设置

arm64v8/centos:centos7 :镜像名称

/usr/sbin/init :启动容器之后可以使用systemctl xxxxx start/stop/restart 等命令

执行如上命令会生成如下图所示:

二、安装宝塔 

进入容器终端,运行bash程序

docker exec -it dev-centos /bin/bash

 安装宝塔

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装成功登陆后极速安装其他的不要装mysql也装不上(由于本人是php开发所以安装的php)

三、容器中安装Docker

Index of linux/static/stable/不同架构不同版本的docker源码包

【未使用yum的原因dockerd进程守护会报错无法使用docker,虽然可以安装成功,但是不能使用太伤人了

使用解压缩方式安装源码

1、yum install wget

2、wget 下面的url卡片shttps://download.docker.com/linux/static/stable/aarch64/docker-20.10.9.tgzicon-default.png?t=M0H8https://download.docker.com/linux/static/stable/aarch64/docker-20.10.9.tgz

3、tar zxvf docker-20.10.9.tgz

4、sudo cp docker/* /usr/bin/

5、dockerd 【这会开启docker守护进程】 开启后再开启一个命令行窗口 docker exec -it dev-centos /bin/bash 进入后使用docker run hello-world 看是否成功。守护进程不能关闭,否则docker服务就没了,这里目前没有什么好的方法可以处理,有大佬知道可以评论区交流。

6、安装mysql服务

docker pull mysql/mysql-server:latest

创建并且启动容器

docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql/mysql-server

进入mysql容器授权允许宿主机访问

docker exec -it mysql bash

mysql -u root -p

输入密码xxxxx

CREATE USER 'root'@'%' IDENTIFIED BY 'root';

GRANT ALL ON *.* TO 'root'@'%';

flush privileges;

两次exit退出mysql服务及mysql容器到centos容器中

四、访问成功 根据自己设置的端口映射访问及设置

 

 评论区解答问题:欢迎提问

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/65502
推荐阅读
相关标签
  

闽ICP备14008679号