以后零碎的知识点就记在这里
Ubuntu:
apt-get autoclean
如果你的硬盘空间不大的话,可以定期运行这个程序,将已经删除了的软件包的.deb安装文件从硬盘中删除掉。如果你仍然需要硬盘空间的话,可以试试apt-get clean
,这会把你已安装的软件包的安装包也删除掉,当然多数情况下这些包没什么用了,因此这是个为硬盘腾地方的好办法。
apt-get clean
类似上面的命令,但它删除包缓存中的所有包。这是个很好的做法,因为多数情况下这些包没有用了。但如果你是拨号上网的话,就得重新考虑了。
rm -rf /var/lib/apt/lists/*
主要是减少最终镜像的大小。通常是可以减少21M以上。
官方文档对此有描述:
In addition, when you clean up the apt cache by removing /var/lib/apt/lists it reduces the image size, since the apt cache is not stored in a layer. Since the RUN statement starts with apt-get update, the package cache is always refreshed prior to apt-get install.
拉取指定版本的镜像
当我们不需要拉取最新的镜像而是指定版本的镜像时
先到https://hub.docker.com/上确定我们要找的镜像标签
然后使用 docker pull image:tag 拉去镜像
Docker 参数 -i -t -d的作用
问题:
sudo docker run -d ubuntu echo "hello world"
docker ps发现,docker容器未启动。
分析:
其实,并不是程序没有启动,而是执行以后就退出了,因为查看docker logs发现有输出
结论:
-d的作用只是后台执行docker容器,并不是不会停止容器。
-ti 后docker命令会为容器分配一个伪终端,并接管其stdin/stdout支持交互操作,这时候bash命令不会自动退出,而是进入与docker容器的交互模式。
如果希望容器启动以后在后台运行不会停止那么应该这样:
sudo docker run -i -t -d ubuntu echo "hello world"
docker以Ubuntu为基础镜像安装Python3.7+sklearn(不使用Dockerfile)
1、拉取Ubuntu镜像,并启动一个容器
docker pull ubuntu
docker run -it -d --name python-sklearn ubuntu bash
2、安装Python3.7
1. 在终端中下载Python安装包:
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
2. 解压Python安装包
tar -zxvf Python-3.7.1.tgz
3. 安装Python某些模块所需要的依赖库:
sudo apt-get update
sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev libssl-dev openssl libffi-dev libbz2-dev -y
4.cd到刚刚解压的Python路径中,然后运行./configure命令
5.sudo make && sudo make install
6.sudo make && sudo make install
7.pip install sklearn
3、创建镜像
1、退出容器,用docker commit 创建镜像
docker commit python-sklearn
2、为镜像创建标签
docker tag fab21f98282d ubuntu-python3.7-sklearn