【环境配置】Docker内打包镜像:tf2-gpu+tmux+zsh+oh-my-zsh

需求

实验室的环境采用docker的管理方式进行服务器的管理,通过私有 Docker Hub保存了个人的镜像文件,需要打包一个适合自己的image镜像,方便在服务器之间快速搭建实验环境,同时优化使用体验。

image内需安装以下内容:

  • zsh + oh my zsh
  • tmux
  • tensorflow2.x版本-gpu

设备

计算服务器:3090等型号

1.拉取合适的镜像源

本案例采用拉取合适的镜像源并在其上进行扩展补充的方式,为满足需求,前往https://hub.docker.com/r/tensorflow/tensorflow/tags网站,选择合适的镜像源,本案例使用了tf2.7.0-gpu版本。

docker pull tensorflow/tensorflow:2.7.0-gpu

使用拉取的镜像新建容器并进入容器

image-20221019114908276

  • 编写测试文件,并进行测试
import tensorflow as tf

print(tf.config.list_physical_devices('GPU'))
print('\n')
print(tf.test.is_built_with_cuda())                                   

image-20221019111530365

2. 安装tmux

apt-get install tmux

image-20221019115427005

  • 常用操作
# 查看有所有tmux会话
指  令:tmux ls
快捷键:Ctrl+b s

# 新建tmux窗口
指  令:tmux new -s <session-name>

# 分离会话
指  令:tmux detach  或者使用  exit(关闭窗口)
快捷键:Ctrl+b d

# 重新连接会话
指  令:tmux attach -t <session-name>  或者使用 tmux at -t <session-name>

# 杀死会话
指  令:tmux kill-session -t <session-name>
  • 允许在终端内使用鼠标滚轮
快捷键:Ctrl+b
:set -g mouse on

3.安装zsh

# 安装 zsh
apt-get install zsh

# 查看安装 zsh
which zsh

# 查看 zsh 版本
zsh --version

4.安装oh-my-zsh

# 使用国内源下载
wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh

# install.sh添加权限
chmod +x install.sh

# 执行
./install.sh

5.配置zsh主题和插件

  • 修改主题为steeef
ls ~/.oh-my-zsh/themes # 查看oh-my-zsh自带的所有主题
vim ~/.zshrc
ZSH_THEME="steeef"
source ~/.zshrc # 更新配置文件

image-20221019114954831

  • 增加插件
ls ~/.oh-my-zsh/plugins # 查看oh-my-zsh自带的所有插件
vim ~/.zshrc
plugins=(
        git
        z
        sudo
        docker
        pip
        zsh-autosuggestions
        zsh-syntax-highlighting
)

其中zsh-autosuggestionszsh-syntax-highlighting非官方自带,需自行下载

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

各种插件的作用:

  • gitpip:自动补全
  • sudo当我们输入命令需要管理员身份时,不必让光标回到开始打一个sudo,可以直接按两次ESC,就会自动帮你加上sudo
  • zsh-autosuggestions是一个命令提示插件,当你输入命令时,会自动推测你可能需要输入的命令,按下方向键右键可以快速采用建议。
  • zsh-syntax-highlighting是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色。
  • z是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。
source ~/.zshrc # 更新配置文件

6.优化挂载(非必须)

apt update
apt install nfs-common -y
apt install nfs-kernel-server -y
apt install netbase -y

必须安装nfs所需安装包nfs-commonnfs-kernel-server,有些比较纯净的容器需要另外安装netbase才能挂载容器

7.保存镜像并上传

至此,镜像内环境配置完毕,进行保存和上传到私有 Docker Hub

docker commit xxx(容器名) xxx.xxx.xx.cn:5000/xxx(个人用户名)/tf2.7.0-gpu-zsh-new
docker push xxx.xxx.xx.cn:5000/xxx(个人用户名)/tf2.7.0-gpu-zsh-new

Ref

tmux常用命令及快捷方式

oh-my-zsh让你的终端体验起飞!

zsh之oh-my-zsh主题配置

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值