docker基础命令大全

一、docker的info、version

  docker info:显示docker系统信息,包括镜像和容器数

docker info 

Client: Debug Mode: false Server: Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 1 Server Version: 19.03.8 Storage Driver: overlay2 Backing Filesystem: <unknown> Supports d_type: true Native Overlay Diff: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: runc Default Runtime: runc Init Binary: docker-init containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd init version: fec3683 Security Options: seccomp Profile: default Kernel Version: 3.10.0-1062.4.1.el7.x86_64 Operating System: CentOS Linux 7 (Core) OSType: linux Architecture: x86_64 CPUs: 1 Total Memory: 1.952GiB Name: fengzhilaoling ID: PV5K:LEGW:ZT7Z:7VQ5:IAQP:CKPJ:UWCG:33DE:UCL6:UBFX:QYFL:K3RP Docker Root Dir: /var/lib/docker Debug Mode: false Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Registry Mirrors: http://hub-mirror.c.163.com/ Live Restore Enabled: false

  

  docker version:显示docker版本信息

docker version
Client: Docker Engine - Community Version: 19.03.8 API version: 1.40 Go version: go1.12.17 Git commit: afacb8b Built: Wed Mar 11 01:27:04 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.8 API version: 1.40 (minimum version 1.12) Go version: go1.12.17 Git commit: afacb8b Built: Wed Mar 11 01:25:42 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683

  

二、镜像仓库相关命令

  docker search:从docker hub查找镜像

docker search centos7

NAME DESCRIPTION STARS OFFICIAL AUTOMATED ansible/centos7-ansible Ansible on Centos7 128 [OK]

#搜索收藏数大于10的nginx镜像

docker search -s 10 nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 12946 [OK]

参数说明:

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

  

  docker pull:从镜像仓库拉取或更新指定镜像

docker pull tomcat
#默认拉取Tomcat:latest的镜像
docker pull tomcat:latest

 

  docker login:登陆到docker镜像仓库,如果为指定仓库地址,默认为官方docker hub

  docker logout:登出docker镜像仓库,如果未指定仓库地址,默认为官方仓库地址

 

docker login -u 用户名 -p 密码
docker logout

  

  docker push:将本地镜像上传到镜像仓库,要先登陆到镜像仓库

docker push nginx:v1

  

三、本地镜像管理

  docker images:列出本地镜像

-q:只显示镜像ID

docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              ed21b7a8aee9        8 days ago          127MB

docker images -q

ed21b7a8aee9

  

  docker rmi:删除本地一个或多个镜像

-f:强制删除

docker rmi -f nginx:latest

Untagged: nginx:latest
Untagged: nginx@sha256:282530fcb7cd19f3848c7b611043f82ae4be3781cb00105a1d593d7e6286b596
Deleted: sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291
Deleted: sha256:8a305f371a6c3c445a1dfc500c1364743868a269ab8cdaf95902692e82168352
Deleted: sha256:d079ef06ec1f10a8050887365f9a940b39547ba6bcc46b16a463e740984f3223
Deleted: sha256:c3a984abe8a88059915bb6c7a1d249fd1ccc16d931334ac8816540b0eb686b45

  

  docker tag:标记本地镜像,将其归于某一仓库

docker tag nginx:latest nginx:v1
#查看一下
docker images nginx:v1
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               v1                  ed21b7a8aee9        8 days ago          127MB

  

  docker build:用于使用dockerfile创建镜像(后面会详细介绍)

docker build -t test/myapp .

  

  docker history:查看指定镜像的创建历史

 docker history nginx:v1

IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
ed21b7a8aee9        8 days ago          /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon…   0B                  
<missing>           8 days ago          /bin/sh -c #(nop)  STOPSIGNAL SIGTERM           0B                  
<missing>           8 days ago          /bin/sh -c #(nop)  EXPOSE 80                    0B                  
<missing>           8 days ago          /bin/sh -c ln -sf /dev/stdout /var/log/nginx…   22B                 
<missing>           8 days ago          /bin/sh -c set -x     && addgroup --system -…   57.6MB              
<missing>           8 days ago          /bin/sh -c #(nop)  ENV PKG_RELEASE=1~buster     0B                  
<missing>           8 days ago          /bin/sh -c #(nop)  ENV NJS_VERSION=0.3.9        0B                  
<missing>           8 days ago          /bin/sh -c #(nop)  ENV NGINX_VERSION=1.17.9     0B                  
<missing>           8 days ago          /bin/sh -c #(nop)  LABEL maintainer=NGINX Do…   0B                  
<missing>           8 days ago          /bin/sh -c #(nop)  CMD ["bash"]                 0B                  
<missing>           8 days ago          /bin/sh -c #(nop) ADD file:d1f1b387a158136fb…   69.2MB    

  

  docker save:将指定镜像保存成tar归档文件

docker save -o nginx.tar nginx:v1
#查看是否归档成功
ls
nginx.tar

  

  docker load:导入使用docker save命令导出的镜像

docker load < nginx.tar 
Loaded image: nginx:v1

  

  docker import:从归档文件中创建镜像

docker import nginx.tar nginx:v2
sha256:35e69696761da1a7ba2b37db1512c519457cb7a53131209361a2c3389f40f3f0 #查看 docker images nginx:v2 REPOSITORY TAG IMAGE ID CREATED SIZE nginx v2 35e69696761d 14 seconds ago 131MB

  

四、容器生命周期管理

  docker run:创建一个新的容器并运行一个命令

#使用nginx:v1以后台模式启动一个容器,并将本机80端口映射到容器中的80端口 本机data目录映射到容器中的data目录
docker run -p 80:80 -v data/data -d nginx:v1
806141c1ac5ba017169f104d7a3e08df26ffafb59f26322307ce6282ca3bb62f
#使用nginx:latest以交互的模式启动一个容器,在容器内执行/bin/bash命令
docker run -it nginx:latest /bin/bash
root@222c9bb61f0a:/# 

  

  docker start:启动容器

  docker stop:停止容器

  docker restart:重启容器

docker start 容器ID
docker stop 容器ID
docker restart 容器ID

  

  docker kill:杀掉一个运行的容器

docker kill -s KILL 容器ID

  

  docker rm:删除容器

#强制删除容器
docker -f 容器ID

#删除容器,并删除容器挂载的数据卷
docker rm -v 容器ID 

#删除所有已经停止的容器:
docker rm $(docker ps -a -q)

  

  docker pause:暂停容器中所有的进程

  docker unpause:恢复容器中所有的进程

docker pause 容器ID
docker unpause 容器ID

  

  docker create:创建一个新的容器但不启动

docker create --name mynginx nginx:latest
82aa5291b82490b7fd98a810a0f2fb3bab78b69879bc0355aa50ab6ee70c9e02
#查看
docker ps -a -q
82aa5291b824

  

  docker exec:在运行的容器中执行命令

#在容器mynginx中开启一个交互的终端
docker exec -it mynginx /bin/bash

  

五、容器操作

  docker ps:列出容器

#仅查看正在运行的容器
docker ps
#查看所有的容器
docker ps -a
#列出所有的容器ID
docker ps -a -q

  

   docker inspect:获取容器/镜像的元数据

docker inspect 镜像名称

  

  docker top:查看容器运行的进程信息,支持ps参数

docker top 容器ID
#查看所有容器的进程信息
for i in $(docker ps|grep Up|awk '{print $1}'); do docker top $i; done

  

  dockers attach:连接正在运行的容器

docker attach --sig-proxy=false mynginx

  

  docker logs:获取容器的日志

docker logs -f 容器ID

  

  docker port:列出指定的容器的端口映射

docker port 容器ID

  

六、容器rootfs命令

  docker commit:从容器创建一个新的镜像

docker commit -a "作者信息" -m "提示文字" 容器ID  新的镜像名称

  

  docker cp:用于容器与主机之间的数据拷贝

docker cp 主机文件或目录  容器ID:容器中的位置

  

  docker diff:用于检查容器里文件结构的更改

docker diff 容器ID

  

 

posted @ 2020-04-08 17:49  风之老凌  阅读(260)  评论(0)    收藏  举报