推荐阮一峰老师的Docker入门教程
安装
镜像(image)
镜像相关的命令,采取规范的格式比较容易记忆:
docker image ls
docker image rm [image_name]
docker image pull [image_name]
docker image build -t [image_name] [dockerfile_path]
容器(container)
同样的,容器相关命令的规范形式:
docker container ls # 列出正在运行的容器
docker container ls --all # 列出所有容器,包括停止终止的
docker container kill [container_id]
docker container rm [container_id]
docker container run [-it] [-p xxx:xxx] [image_name] [script]
其他
因为使用集群的镜像,不能随意修改更新镜像,有诸多限制。部分曲线救国的方法:
获取容器内的root权限
首先你的container得正在运行
可通过sudo docker container ls或者sudo docker ps查看容器的CONTAINER ID
最后执行命令(其中7509371edd48 为上面查到的CONTAINER ID)
sudo docker exec -it -u root 7509371edd48 bash
更换容器内软件的版本
比如说更新cmake的版本。
看了看PATH中包含/usr/local/bin目录,而此目录下为空,我们可以将外部的软件(或符号链接)目录直接挂载为该目录,这样系统在查找相应的软件时,可以使用我们自己挂载的版本。
无sudo权限以及非root的用户apt安装软件
虽然通过前面的方法可以获取容器的root权限,但注意在容器内做出的修改并不能保存。
因为apt-get install不能指定安装路径,我们直接使用apt-get安装的软件在容器退出之后不能留存,下次启动容器仍然无法使用。
而通过源码方式安装的软件,可以指定其安装路径。
因此我们可以先安装到自己的目录下,然后将安装目录挂载为系统PATH中的目录,这样就可以使用该软件了。