Docker 常用命令

常用命令

docker ps

  • docker ps 命令查看当前运行中容器
  • docker ps -a 命令查看已启动容器,包括创建未运行及已停止运行容器
  • 从左到右依次为:容器ID、镜像、启动命令、容器创建时间、容器运行状态、端口映射关系、容器名。
  • 容器运行状态有三种:UP 表示运行中、Created 容器已创建,但成功运行、Exited 表示容器已停止运行
[root@AKA ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                   CREATED             STATUS              PORTS                                      NAMES
b06e0e1acce8        mynginx:1.17.8      "/bin/sh -c \"/root/a…"   6 days ago          Up 6 days           0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx
e4023e4c3ab1        mysql:5.6           "docker-entrypoint.s…"    6 days ago          Up 6 days           0.0.0.0:3306->3306/tcp                     mysql
6fc7fe2b32cc        myphp:7.4-fpm       "docker-php-entrypoi…"    6 days ago          Up 6 days           0.0.0.0:9000->9000/tcp                     php

docker cp

  • docker cp 命令用于将宿主机指定文件或目录复制到容器指定目录中
  • 栗子:docker cp 文件或目录 容器名称或容器id:/拷贝到容器位置
 docker cp file.test nginx:/root

docker rm

  • docker rm 命令用于删除一个处于未运行状态的容器。
  • 当你使用 docker rm 命令去删除处于运行中状态的容器时,命令会执行失败。
  • 只能删除已经停止的容器
#   删除指定容器
docker rm 容器名
#   所有所有容器
docker rm `docker ps -aq`

docker tag

  • 有时候官方镜像拉不下来,就会从第三方仓库拉取镜像,拉取完成就要重新给镜像重新打标签
  • 栗子:gcr.azk8s.cn/google-containers/defaultbackend-amd64:1.5 重新打成 k8s.gcr.io/defaultbackend-amd64:1.5
  • docker tag 旧镜像名称 新镜像名称
#   拉取镜像
docker pull gcr.azk8s.cn/google-containers/defaultbackend-amd64:1.5
#    给拉取的镜像重新打标签
docker tag gcr.azk8s.cn/google-containers/defaultbackend-amd64:1.5 k8s.gcr.io/defaultbackend-amd64:1.5

docker rmi

  • 上面镜像打包完成 那么会存在2个镜像
  • 删除第三方仓库拉取的镜像
  • docker rmi -f 镜像id或镜像名称
#   查看存在的镜像
root@AKA:~# docker images
REPOSITORY                                                       TAG                 IMAGE ID            CREATED             SIZE
gcr.azk8s.cn/google-containers/defaultbackend-amd64              1.5                 b5af743e5984        17 months ago       5.13MB
k8s.gcr.io/defaultbackend-amd64                                  1.5                 b5af743e5984        17 months ago       5.13MB

#   删除没用的镜像
docker rmi -f gcr.azk8s.cn/google-containers/defaultbackend-amd64:1.5

docker run

  • docker run 命令用于启动 Docker 容器。在启动容器时,可以指定容器名称、端口映射、文件目录持久化、环境变量等
  • 这里简单示例
  • -d 放人后台运行
  • --name 设置容器名称
root@AKA:~# docker run -d --name=nginx nginx:1.17.5
7002443c9efd61e8da4f17d47698abeb8a15f1b4a2412bee7c3ea45aeb255b45

docker pull

  • docker pull 命令用于拉取镜像。拉取 docker 官方镜像仓库无需登录,直接传入镜像名和版本号即可。
  • docker pull 从第三方镜像仓库拉取一般无需登录,需要传入第三方仓库域名、镜像名和版本号即可
  • docker pull 私有仓库拉取需要先通过 docker login 登录仓库,登录完成后才能拉取镜像
  • 这里通过 docker 官方镜像仓库拉取镜像
#   从官方仓库拉取镜像
docer pull nginx:1.17.5
#   从第三方仓库拉取镜像
docker pull quay.mirrors.ustc.edu.cn/nginx:1.17.5
#   从私有仓库拉取镜像
docker login hub.akiraka.net
docker  pull hub.akiraka.net/test/nginx:1.17.5

docker logs

  • docker logs 命令用于查看指定容器日志。
  • -f 命令持续最终日志
  • -- since 查看指定日期日志
  • 栗子:查看正在运行的 nginx 日志
docker logs -f --since="2020-03-05" nginx

docker exec

  • docker exec 命令用于登录到正在运行中的容器,登录容器后可以对改容器进行交互操作
docker exec -it 正在运行的容器名称 bash 或 sh

docker save

  • docker save 将已拉取下来镜像保存到本地
  • 栗子:将 docker image 中的 nginx:1.17.5 保存为 test_save
docker save -o test_save nginx:1.17.5

docker load

  • docker load 将镜像导入到 docker images 中
  • 栗子:将 test_save 导入到 docker images 中
docker load -i test_save

docker push

  • docker push 命令用于推送到镜像到仓库,要推送必须先登录仓库
#   登录需要推送的仓库
docker login hub.akiraka.net
#   给镜像重新打标签
docker tag nginx:1.17.5 hub.akiraka.net/test/mynginx:1.17.5
#   推送镜像
docker push hub.akiraka.net/test/mynginx:1.17.5

docker stop

  • docker stop 命令用于停止一个处于运行中状态的容器。
#   停止指定容器名
docker stop 容器名
#   停止所有正在运行中的容器
docker stop $(docker ps -aq)

docker start

  • docker start 命令用于启动一个处于未运行状态的容器,该命令只能启动容器,不能修改容器的启动参数。
docker start 容器名

docker build

  • docker build 用于构建镜像。构建镜像需要依赖一个源镜像,列如 centos ubuntu alpine 等做基础镜像,也可以拉取官方镜像通过 dockerfile 镜像修改成自己的镜像
docker buile -f dockerfile文件 -t 镜像名称:版本 .

docker login

  • docker login 命令用于登录 docker 仓库。拉取非公开镜像仓库的镜像或者要往镜像仓库中推送镜像时,需要先通过 docker login 命令登录该镜像仓库,再进行操作。
#   登录镜像仓库
docker login hub.akiraka.net

docker logout

  • docker logout 命令用于退出镜像仓库。与镜像仓库操作结束后,出于安全考虑,要退出已登录镜像仓库。
#   推出登录
docker logout hub.akiraka.net

docker images

  • docker images 命令查看镜像列表
  • docker images -a 命令查看构建镜像所包含的子镜像
root@AKA:~# docker images
REPOSITORY                                                       TAG                 IMAGE ID            CREATED             SIZE
nginx                                                            1.17.5              a51b96d51b08        3 months ago        443MB
k8s.gcr.io/defaultbackend-amd64                                  1.5                 b5af743e5984        17 months ago       5.13MB

docker network

  • docker network create 创建网络
  • docker network list 查看网络列表
  • docker network inspect 查看网络信息
  • docker network del 删除网络
#   创建名为 aka-network 网络
root@AKA:~# docker network create aka-network
6b622e972364a74f4363ae0a1525ae1b7058f61c33bcaf32a93f247f7ef1893a

#   查看网络列表
root@AKA:~# docker network list
NETWORK ID          NAME                    DRIVER              SCOPE
6b622e972364        aka-network             bridge              local
0a7d57869974        bridge                  bridge              local
dd6ccf092ba4        host                    host                local
a863ff819bfd        none                    null                local

#   查看指定网络信息
docker network inspect aka-network

#   删除指定网络
docker network del aka-network

版权声明:
作者:Akiraka
链接:https://www.akiraka.net/linux/docker/399.html
来源:Akiraka
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
Docker 常用命令
常用命令 docker ps docker ps 命令查看当前运行中容器 docker ps -a 命令查看已启动容器,包括创建未运行及已停止运行容器 从左到右依次为:容器ID、镜像、……
<<上一篇
下一篇>>
文章目录
关闭
目 录