DIY自己的ubuntu镜像
背景
由于从docker hub上pull下来的ubuntu镜像是非常干净的,干净到没有ping、ifconfig这种最基础的网络命令。为了后续使用ubuntu的docker镜像时不重复折腾这些事情。因此,今天花了一些时间创建了一个可用的镜像,在这里记录一下整个过程中遇到的一些问题,主要是为自己做一些备忘,当然,如果能帮助到其他人也是一件快乐的事情。
步骤
0. pull ubuntu基础镜像
关于如何安装docker,可以google一下,就不介绍了。
docker pull ubuntu:last # 使用最新的ubuntu镜像
docker run --name myubuntu -d ubuntu # 使用pull下来的ubuntu镜像创建/启动一个名字为myubuntu的容器
docker exec -it myubuntu /bin/bash # 登陆到容器中
docker的命令可以查看文章:资深专家都知道的Docker常用命令_云计算_赵钰莹_InfoQ精选文章
1. 安装基础的网络工具
apt update # 先更新一下源,不然安装可能会报错
apt install net-tools # 安装ifconfig工具包
apt install inetutils-ping # 安装ping工具
2. 安装开发工具
apt install vim
apt install gcc
apt install g++
apt install gdb
apt install python3
apt install python3-pip # 安装的是pip3
pip3 install NumPy -i https://pypi.tuna.tsinghua.edu.cn/simple # 由于国外的源安装很慢,所以这里使用了国内的清华大学的源
pip3 install Matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
3.配置zsh
echo $SHELL # 查看系统当前使用的shell
cat /etc/shells # 查看系统自带的所有shell
apt install zsh -y # 安装zsh
cat /etc/shells. # 查看zsh是否安装成功
apt install curl
chsh -s /bin/zsh # 设置zsh为默认shell
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" # 安装oh-my-zsh ,或 使用 sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
vim ~/.zshrc # 修改主题 ZSH_THEME="agnoster", 隐藏用户名 prompt_context () {}
source ~/.zshrc
4. 问题
1. 安装oh-my-zsh时遇到connect超时或失败时,可能是qiang的原因,解决方案:
在The Best IP Address, Email and Networking Tools - IPAddress.com查询raw.githubusercontent.com的真实IP后,通过修改hosts
解决此问题
vim /etc/hosts # 修改hosts文件,增加raw.githubusercontent.com的ip映射,例如,199.232.28.133 raw.githubusercontent.com
2. zsh (anon):12: character not in range
在 /etc/zsh/zshrc
文件底部添加以下两行:
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
3. 退出docker后再登陆时,zsh配置不生效
猜测原因应该是docker的bug,解决方案:
每次登陆后需要source ~/.zshrc,或者在/etc/zsh/zshrc文件末尾,增加 source ~/.zshrc
在登陆docker时,执行 docker exec -it my_ubuntu /bin/zsh
参考
【1】Ubuntu 18.04 安装配置Oh My Zsh 主题设置_dendy的博客-CSDN博客_ubuntu zsh
【2】zsh 隐藏用户名和主机_「违规用户」的博客-CSDN博客
【3】zsh (anon):12: character not in range - 简书
【4】Docker解决每次进入容器命令都要重新source /etc/profile 才能生效的问题 - 简书
【5】解决pip3 install下载很慢 - 三七鸽 - 博客园
【6】docker上传自己的镜像 - 冬眠的山谷 - 博客园
【7】资深专家都知道的Docker常用命令_云计算_赵钰莹_InfoQ精选文章
DIY自己的ubuntu镜像相关推荐
- docker desktop ubuntu镜像_资深专家都知道的顶级 Docker 命令!
开发人员一直在努力提高 Docker 的使用率和性能,命令也在不停变化.Docker 命令经常被弃用,或被替换为更新且更有效的命令,本文总结了近年来资深专家最常用的命令列表并给出部分使用方法. 目前, ...
- docker ubuntu镜像_Docker 入门指南 | Linux 中国
该教程包含了如何创建一个新的 Docker 容器,如何运行该容器,如何从现有的 Docker 容器中创建自己的 Docker 镜像等 Docker 的一些基础知识.操作.-- Sk 在我们的上一个教程 ...
- docker安装ubuntu镜像
在docker中安装Ubuntu. 1. 查找ubuntu镜像 docker search ubuntu 2. 安装 docker pull ubuntu 3. 查看镜像 docker images ...
- docker desktop ubuntu镜像_原创 | Docker入门,看了不理解,假一赔命
写在前面 这篇博客适合谁? 对于Docker并不了解,只是有一点模糊的感觉,觉得Docker可以当成虚拟机用之类的 只是下载了Docker软件,对于怎么配置,怎么玩,第一步干什么,完全一无所知 其二, ...
- docker ubuntu镜像_macOS 下使用 Docker 搭建 ubuntu 环境
学习网络开发过程中不想"污染"macOS,考虑到之后部署网络应用主要是与linux打交道,所以安装了 ubuntu 虚拟机以满足短期的知识学习需求.十里安装了 ubuntu 虚拟机 ...
- 搭建本地ubuntu镜像服务器(arm版)
搭建本地ubuntu镜像服务器(arm版) 最近由于项目需要,经常从ports.ubuntu.com服务器上面下载ubuntu的镜像文件,但是面对几kB的速度,项目实在是进行不下去了.考虑到后面还要经 ...
- UltraISO打开Ubuntu镜像ISO文件只有EFI文件夹
问题 在安装Ubuntu时,需要先制作U盘启动盘,在用软碟通UltraISO打开Ubuntu镜像ISO文件只有EFI文件夹. 原因 UltraISO软件版本过低. 解决办法 重新安装新版本的Ultra ...
- docker——Ubuntu镜像操作和apache web容器操作小实训
文章目录 Ubuntu镜像操作 apache web容器操作 Ubuntu镜像操作 (1)拉取最新的Ubuntu官方镜像. (2)查看该镜像的详细信息. (3)查看该镜像的构建历史. (4)删除该镜像 ...
- 使用docker安装ubuntu镜像
使用docker安装ubuntu镜像 查找Ubuntu镜像 docker search ubuntu 安装Ubuntu镜像 docker pull ubuntu 查看docker镜像 docker i ...
最新文章
- C++乘法的int越界问题
- python创建一个简单的服务
- 管家婆有未记账的凭证怎么办_管家婆常见问题
- 波士顿大学数学与计算机科学,2021战报 | 美国波士顿大学金融数学硕士录取
- [linux]ps结果计算行数
- checkbox 选中的id拼接长字符串
- Python中os库的使用
- YOLOv3实现鱼类目标检测
- windows核心编程读书笔记(一)
- Java 注解 (Annotation)浅入深出
- hadoop yarn如何启动聚合日志
- Unity之如何使用夜神模拟器logcat
- 内点法(interior point method)求解二次规划,附python代码
- 万圣节头像挂件微信小程序前端
- 一个简易的FTP客户端软件
- yolov5 deepsort 行人车辆 双向计数 跟踪检测 | 开源项目分享
- 服务器邮箱验证失败是什么意思,发送邮件时,提示“邮件发送失败:SMTP验证失败”?...
- win10虚拟机搭建 Hadoop集群
- 小妲己智能机器人要连接wifi吗_小度智能机器人怎么连wifi
- js 获取当前时间戳
热门文章
- 机器学习算法——决策树算法详细介绍,并使用sklearn实现案例预测,可视化决策树
- 当爱情遇见钱:找有钱的男人能得到啥
- WCF---关于无法使用以下搜索标准找到 X.509 证书的问题
- 彩屏显示入门:我要五彩斑斓的黑 | 用Arduino玩转ESP32与掌控板系列
- 拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
- java 文件下载示例_文件下载示例代码(JAVA)
- start with connect by prior的使用方法
- Python线图点图--matplotlib.pyplot.plot
- 颜值是第一生产力 - Windows Terminal
- centos7下搭建lnmp环境包含yum源直接安装和源码编译安装,以及php5.3和php7.6版本