镜像操作

$ docker search <name> # 在docker hub中查找相关镜像
$ docker pull <name:tag> # 拉取镜像
$ docker inspect <image id> # 检查容器信息

查看镜像

$ docker image ls # 查看本地已有镜像
$ docker images # 同 docker image ls
$ docker image rm <image id>  # 删除镜像
$ docker ps # 查看正在运行的所有镜像
$ docker ps -a # 包括那些已经stop了的镜像
如果某个镜像有正在运行的实例,那么就不能用 docker image rm 删除,建议先停止并删除该镜像的所有实例后再删除该镜像。

当我们构建了一个新镜像,并且给这个新镜像打上一个已经存在的标签,这时候Docker会移除旧镜像上的标签。
执行docker image ls --filter dangling=true查看此类镜像。
执行docker image prune会移除全部的这种镜像。

docker image history接镜像名:标签或者id,能输出构建镜像的过程中都执行的哪些指令。

运行容器

$ docker run -it -d <image_name:version> bash #  使用bash交互并将容器挂在后台,可以用 --name 指定容器名称,这样就可以不再使用container id了
$ docker exec -it <container id> bash # 进入容器
$ docker stop <container id> # 停止容器,容器的相关数据不会丢失
$ docker start <container id> # 启动容器
$ docker rm < container id> # 删除容器,建议先停止容器再执行删除操作

-it参数使我们能将当前终端连接到容器的shell终端上去。
--restart always会使容器自动重启。当docker daemon被重启时,容器也会重启。
--restart unless-stopped限定容器在手动停止的时候不会重启。

构建镜像

$ docker build -t image_name:tag .

注意不要忘记最后的 .

Docker使用Dockerfile为指令构建新的镜像。

构建镜像是分层的,会使用以前的缓存。

.dockerignore

.dockerignore 文件用于排除构建镜像时不需要的文件或目录。


落落大方的发卡
20 声望0 粉丝