主力电脑是MacBook,有时候需要ubuntu环境只能求助于docker。同时一直在用的朋友服务器最近改成了nixos,不太适应,也需要docker配置ubuntu。
所以配置的ubuntu docker为主力环境,日常开启用ssh连接。
第一步:
docker pull ubuntu
默认下载最新版——22.04。
在家里目录下创建ubuntu22目录,与ubuntu镜像进行挂载,然后启动ubuntu镜像为container
docker run --name ubuntu22 -h ubuntu22-docker -ti -d -v /home/*username*/ubuntu22/:/home/*username*/ -p 9001:22 ubuntu
其中 --name是跑起来的container的名字;-h设定了ubuntu的hostname;-ti是即使没有连接,也要保持标准输入保持打开状态,一般t与i二者连用;-d后台运行;-v将本地文件夹与ubuntu容器中的文件夹映射到一起,-p则本地的9001端口与ubuntu 的22端口映射到了一起,如此一来便可以直接通过访问9001端口ssh连接ubuntu
docker exec -ti ubuntu22 /bin/bash
启动进入ubuntu镜像
apt update
更新apt源头
apt install -y sudo openssh-client openssh-server vim
启动ssh
service ssh start
ubuntu docker需要自行安装sudo、ssh、vim。
passwd # 输入两遍root密码
useradd -d /home/*username* -m *username* -s /bin/bash -g sudo # 添加用户,并让其加入sudo
passwd *username* # 设置新用户的密码
su *username* && cd ~ # 切换到新用户并去家目录
完成初始设置后切入用户进行操作
mkdir ./.ssh # 家目录中创建ssh文件夹
vim ./.ssh/auhorized_keys # 加入本机公钥
service ssh restart
配置ssh密钥免密码登陆。两次control+d后退出docker,此时在本地terminal执行
ssh -p 9001 *username*@localhost
测试是否连接成功。
最后安装常用包
sudo apt install -y curl wget git inetutils-ping tmux htop # 安装常用包
接下来是偏主观个人爱好了,由于自带的bash比较丑陋,所以将其用zsh和oh my zsh进行美化。
sudo apt install zsh
chsh -s $(which zsh) # 将默认bash换为zsh
重连后进入zshbash,继续进行zsh的初步配置
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # 下载oh-my-zsh
# 在zsh界面中安装主题
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
将~/.zshrc中的主题项设置为
ZSH_THEME="powerlevel10k/powerlevel10k"
重启bash即可进入其初始配置页面。最后下载并安装自动补全插件
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
将~/.zshrc中的插件加上zsh-autosuggestions,成为
plugins=(
git
zsh-autosuggestions
)
还支持在vscode里直接用ssh-remote连接进该镜像,十分好用。