电脑配置-MacBook
关闭和开启 SIP
关闭 SIP
M 系列芯片关机后,长按电源键直到进入恢复模式,在终端中输入csrutil disable
开启 SIP
进入恢复页面,实用工具里选择启动安全性实用工具,选前两个安全性选项都能打开
翻译配置
显示器问题
开发环境配置
Vscode C/C++
- Mac 用 Visual Studio Code 编写 C/C++
- Mac 在
vs code
中使用vim
,长按j
无法一直向下移动,解决办法:defaults write -g ApplePressAndHoldEnabled -bool false
,禁用长按重音字符
配置文章:https://zhuanlan.zhihu.com/p/711413895
Docker 中使用 Ubuntu
安装 Docker
官方网站:https://www.docker.com
下载 Ubuntu 镜像
可在 https://hub.docker.com/_/ubuntu 找到相应镜像,以及安装命令。
// 下载镜像
docker pull ubuntu
启动容器
// 启动
docker run -d -p 2200:22 -p 8000:8000 -p 8001:8001 -p 8002:8002 --name ubuntu -v /Users/leeson/Documents/dev/ubuntu:/home/dev --privileged=true c22ec0081bf1 /usr/sbin/init
/Users/leeson/Documents/dev/ubuntu
将容器中的文件夹挂载到本地文件夹下c22ec0081bf1
填写IMAGE ID
,可通过docker images
命令查看
如果直接返回一行字符串大概率就没问题。
可能存在的问题
leeson@leesondeMacBook-Air ubuntu % docker run -d -p 2200:22 -p 8000:8000 -p 8001:8001 -p 8002:8002 --name ubuntu -v /Users/leeson/Documents/dev/ubuntu:/home/dev --privileged=true c22ec0081bf1 /usr/sbin/init
d55df074c351afa4db8ddca4e876100da5592bac2880cc9b43da87f90bd0c12b
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/usr/sbin/init": stat /usr/sbin/init: no such file or directory: unknown.
使用 Ubuntu 官方镜像并安装 systemd
如果必须使用特定的 Ubuntu 镜像,可以尝试手动安装 systemd
:
- 先运行一个交互式容器(运行前,先将刚才启动的容器关掉否则会冲突):
docker run -it --name ubuntu c22ec0081bf1 bash
- 在容器内安装
systemd
:
apt update
apt install -y systemd
- 然后退出容器,使用
docker commit
将其保存为新镜像:
docker commit ubuntu ubuntu-with-systemd
- 使用新镜像运行容器:
docker run -d -p 2200:22 -p 8000:8000 -p 8001:8001 -p 8002:8002 --name ubuntu -v /Users/leeson/Documents/dev/ubuntu:/home/dev --privileged=true ubuntu-with-systemd /lib/systemd/systemd
SSH 连接 Docker 中的 Ubuntu
确保容器中已安装 SSH 服务
-
首先,进入 Ubuntu 容器:
-
docker exec -it <container_name> bash
- 把
<container_name>
替换为你的容器名称(例如ubuntu_dev
)。
-
-
更新软件包并安装 OpenSSH 服务器:
-
apt update apt install -y openssh-server
-
-
启动 SSH 服务并设置自动启动:
-
service ssh start
- 你可以将
service ssh start
命令添加到 Dockerfile 中,或将它加入容器的启动命令以确保每次容器启动时 SSH 服务器都会自动运行。
-
-
配置 SSH 服务允许外部访问:
-
编辑 SSH 配置文件,确保允许外部访问:
-
vim /etc/ssh/sshd_config
-
-
修改
PermitRootLogin
设置为yes
(允许 root 登录)或为某个用户创建密码。 -
保存并退出编辑器,然后重启 SSH 服务:
-
service ssh restart
-
-
设置 Docker 容器的端口映射
运行容器时,将容器内的 SSH 端口(22)映射到本机的一个未被占用的端口(如 2200)。如果容器已经在运行,可以先停止它并重新启动:
docker run -d -p 2200:22 --name ubuntu_dev ubuntu:latest
这里的 2200
是本地端口,可以根据需要进行更改。
创建 SSH 登录用户(如果需要)
如果不想使用 root
用户登录,可以创建一个新用户并设置密码:
adduser username //leeson
passwd username //1708639
root
用户密码忘了可以使用下面的命令重置密码
passwd root // admin123
在 Termius 中配置连接
- 打开 Termius,点击 New Host 创建一个新的连接。
- 在 Label 中设置主机的标签(如 “Ubuntu Docker”)。
- Hostname:输入
localhost
(或是 Docker 容器所在的 IP 地址)。 - Port:输入映射的端口号(如
2200
)。 - Username 和 Password:填写容器中设置的用户名和密码,或使用
root
用户的登录信息。 - 保存并测试连接,确保能够顺利通过 SSH 访问容器。
在 iterm 里配置 ssh 连接
ssh username@localhost -p 端口号
ssh leeson@localhost -p 2200