Docker 使用
一、基本操作
1. 获取镜像
获取镜像的命令是 docker pull 【<域名/ip>[:端口号]】<仓库名>:标签。
不写域名或ip地址则默认是 Docker Hub官方地址;仓库名由"用户名"和"软件名"组成,不给出用户名,则默认为 library,也就是官方镜像。
docker pull ubuntu:18.04 #获取官方镜像 library/ubuntu 仓库中标签为 18.04 的镜像
或
docker pull ubuntu:latest #获取ubuntu 最新版本的docker镜像
2. 列出已下载镜像
使用 docker image ls 命令。
docker image ls
列表包含了 仓库名、标签、镜像 ID、创建时间 以及 所占用的空间。
3.ubuntu初始镜像处理
刚拉取的ubuntu镜像是没有vi等编辑器的,官方镜像源又太慢,下面是将改好的sources.list替换镜像的sources.list。
环境:主系统 — ubuntu19.04,docker ubuntu镜像版本 — 18.04 ( 2019-08-16,latest版本为18.04 )
(1)将19.04的/etc/apt目录挂载到docker中,挂载为 /home/etc/apt 并进入容器:
sudo docker run -it -v /etc/apt:/home/etc/apt ubuntu:latest /bin/bash
(2)将主机源文件复制到容器中:
cp /home/etc/apt/sources.list /etc/apt/sources.list
(3)提交已修改的镜像,否则此次的修改将不会被保存。新开一个命令窗口,使用命令查看当前docker ubuntu容器的ID:
sudo docker ps
(4)记录ID后使用commit提交:
sudo docker commit xxxxxx(容器的id) ubuntu
(5)上面保存的镜像是依赖原镜像的,想将它作为独立镜像的话,做以下处理:
docker save -o ubuntu.tar ubuntu:latest #将修改的镜像保存为tar包,ubuntu:latest为修改的镜像
查看依赖:
docker inspect --format='{{.Id}} {{.Parent}}' $(docker images --filter since=镜像id --quiet)
删除新旧镜像:
docker rmi -f xxx xxx # xxx为新旧镜像的id
将保存的镜像加载为新镜像:
docker load -i ./ubuntu.tar
使用 docker image ls 可以看到标签为my的ubuntu镜像。