macOS M1芯片DockerDeskTop安装CentOS胎教级教程
一、环境
1.1 系统信息
操作系统:MacOS Monterey 12.2.1
芯片:Apple M1 Pro
1.2 软件信息
软件:Docker DeskTop 4.6.0、Final Shell 3.9.2.2
1.3 镜像信息
IMAGE:centos
TAG:latest
CentOS: CentOS Linux release 8.4.2105
二、安装
2.1 拉取镜像
1 |
|
2.2 创建容器
1 |
|
2.2.1 命令详解
run:表示运行容器
-dp: -d和-p的缩写,表示后台运行、表示宿主机端口与Docker容器端口映射
–name:为容器指定一个名称
–privileged:赋予特权,给予容器内的root拥有真正的root权限。
centos:启动的镜像
/usr/sbin/init:解决容器内systemctl命令无权限使用的问题
2.3 进入容器
格式:docker exec -it 容器名 bash
1 |
|
2.4 修改yum源
1 |
|
2.4.1修改后的CentOS-Linux-BaseOS.repo文件
1 |
|
2.4.2 修改后的CentOS-Linux-BaseOS.repo文件
1 |
|
2.5 系统初始化
由于docker中是一个纯净版本,我需要给他安装必要的软件。(当然不止这些,需要用到的时候再装也行)
1 |
|
2.6 启动ssh服务
1 |
|
2.7 设置虚拟机root用户密码
设置系统root用户密码,输入两次密码设置成功
1 |
|
2.8 ssh连接测试
2.8.1 通过宿主机shh连接
1 |
|
此时可以通过宿主机ssh来访问这台虚拟机:ssh root@localhost -p 5002 这里-p就是指定的5002端口去ssh容器中的ss端口。此时做到了ssh到这台容器虚拟机里面。
2.8.2 通过finalshell连接
三、制作镜像
由于基础镜像的centos镜像是纯净版的,需要在基础镜像之上在安装对应的软件。因此如果我们已经安装了一些软件则可以将这个安装的工具的镜像在打包成一个镜像,后续就可以使用这个“基础镜像”来拉起容器,这个时候这个容器里面就可以有个有这些工具了。因此可以用docker命令对这个容器进行镜像制作。使用到的命令:
3.1 基于centos容器制作镜像
格式:docker commit -m “镜像描述” -a “制作者” 容器名 镜像名
1 |
|
3.2 创建容器
基于创建的centos8:v1的镜像
1 |
|
3.3 测试ssh连接
1 |
|
四、问题汇总
4.1 无法使用ifconfig
问题描述:使用ifconfig命令,提示-bash: ifconfig: command not found
问题原因:centos镜像是纯净版的,很多软件没有安装。
解决方案:安装net-tools
1 |
|
4.1.1 测试ifconfig
测试结果:
4.2 无法使用firewalld
问题描述:使用firewalld命令,提示-bash: firewalld: command not found
问题原因:centos镜像是纯净版的,很多软件没有安装。
解决方案:安装firewalld
1 |
|
4.2.1 测试firewalld
1 |
|
4.3 无法使用wget
问题描述:使用wget命令,提示-bash: wget: command not found
问题原因:centos镜像是纯净版的,很多软件没有安装。
解决方案:安装 wget
1 |
|
4.3.1 测试wget
1 |
|
![image-20220324164608704](/Users/mike/Library/Application Support/typora-user-images/image-20220324164608704.png)
4.4 centos中文乱码问题
问题描述:shell脚本中的中文注释乱码
问题原因:centos镜像是纯净版的,很多软件没有安装。
解决方案:安装glibc-langpack-zh中文语言包
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!