Docker命令手册

记录平时用的比较多的Docker命令。

docker学习地址

1、docker停止并删除运行的容器

  • 首先查看运行的容器

    docker ps

    docker1.webp

  • 然后停止容器
    注意这里的ID是运行的容器的ID,而不是镜像的ID。

    docker stop 运行容器的id或者名字
  • 删除停止的容器
    这个命令不能用于删除镜像。

    docker stop 运行容器的id或者名字

2、通过Dockerfile生成镜像

先要进入项目目录。

#进入目录
d: && cd d:\docker\helloworld

#编译镜像(默认为latest)(注意结尾一定要加.)
docker build -t helloworld .

#编译指定版本镜像(注意结尾一定要加.)
docker build -t helloworld:1.0 .

docker2.webp

3、推送镜像到仓库

  • 基于已有本地Docker镜像创建符合Docker规范的Repository: {username}/{repository} \

tag后面第一个参数是本地镜像的名称,第二个参数是远程仓库的名字。\
下面这两个命令都运行,会生成tag是latest和版本号的两个镜像,但是名字一样,一会推送的时候就同时推送上去了。

# 最新版本镜像
docker tag test  xjintong/test
# 编辑镜像的版本号
docker tag test:1.0  xjintong/test:1.0

docker3.webp
可以看到它们的镜像ID都是一样的,就是引用的第一个生成的镜像。

  • 推送
    推送的时候先推送有版本号的,然后再推送没有的。这样就会保证最底层的镜像是latest,同时下面还有一个有版本号的。\
    这样下次push的时候会覆盖latest,然后旧版本号会保留。

    docker push xjintong/test:版本号
    docker push xjintong/test     # 不加版本号,默认latest、

4、查看容器运行日志

docker logs 容器ID

5、将容器打包成镜像

下面的a404c6c174a2是容器的ID,mymysql:v1是要生成的本地镜像名。

docker commit -a "作者信息" -m "提交信息" a404c6c174a2  mymysql:v1

弄完之后就按正常的给镜像加tag,然后push就行了。

6、停止一个容器

docker stop 容器ID

7、删除一个停止的容器

docker rm 容器id
THE END