docker命令

帮助命令

docker version  显示docker的版本信息

docker info 显示docker的系统信息

docker  命令  --help  帮助命令

镜像命令 

docker  images  查看本地主机上的镜像

docker  search  搜索镜像

docker pull 镜像名[:tag]  下载镜像

docker  rmi 删除镜像(docker  rmi  -f  $(docker  images  -aq) 删除所有镜像 )

容器命令

exit  直接容器停止并退出

ctrl+P+Q  容器不停止退出

docker  run [可选参数]  Images  新建容器并启动

        --name="name"

        -d 后台方式运行

        -it  交互方式运行

        -p  指定容器的端口  -p 8080:8080

        -p  主机端口:容器端口   #主机端口映射到容器端口

        -p  容器端口

        容器端口

docker  ps 列出正在运行的容器

        -a 列出历史运行过的容器

        -n=个数  显示最近创建过的几个容器

        -q  只显示容器编号

docker  rm  删除容器,不能删除正在运行的容器,强制删除-f

docker  rm  -f  $(docker ps -aq)  删除所有镜像

docker ps -a -q | xargs docker rm  删除所有容器

docker stop 停止当前正在运行容器

docker start 启动容器

docker restart 重启容器

docker kill 强制停止容器

常用其他命令

后台启动:

docker run -d 镜像名  #通过镜像启动容器,但是这样操作会发现容器立即停止了

容器使用后台运行,必须要有一个前台进程,docker发现没有前台应用,就会立即停止

容器发现自己没有提供服务,就会立即停止,就是没有程序了

查看日志:

docker logs  -tf --tail 10 容器   #查看10条日志,可能会发现没有日志

自己编写一段shell脚本 

查看容器中的进程信息:

docker top

查看镜像的元数据:

docker inspect 

进入当前正在运行的容器:

通常容器都是使用后台方式运行的

docker exec -it 容器 bashShell

docker exec -it c95e353a67a5 /bin/bash

docker attach 容器id

docker exec  进入容器后开启一个新的终端,可以在里面操作

docker attach  进入容器正在执行的终端,不会启动新的进程

从容器内拷贝文件到主机:

docker cp 容器id:容器内的路径  目的主机路径

先在自己的home界面ls,没有456.java

进入容器,在容器的home界面创建456.java,然后退出容器,将此文件拷贝到主机的/home界面上,然后验证ls,拷贝成功

(拷贝是一个手动过程,之后使用卷的技术可以实现自动同步)

汇总部分命令 

得到一份完整的命令列表  docker

启动docker    systemctl  start  docker

查看docker并验证是否安装成功   docker  --version

docker run hello-world

设置docker开机自动启动  systemctl  enable docker

禁用docker守护进程开机启动  systemctl  disable  docker

以非root用户管理docker

sudo  groupadd  docker   #创建docker组

sudo  usermod  -aG  docker  用户名   #向docker组中添加用户

uname  -a  显示操作系统的信息

cat /etc/issue  显示当前操作系统发行版信息

docker  images  列出本地主机上的镜像

docker  images  -a(--all)  列出本地所有的镜像(含中间镜像层,默认情况下过滤掉中间镜像层)

docker  images  -f(--filter)  过滤镜像(还可以与since和before组合进行过滤)

docker  images  -q(--quiet)  只显示镜像ID

docker  images  --no-trunc  显示完整的镜像ID

docker images ubuntu --digests  显示镜像摘要值

docker  pull  ubuntu:14.04  拉取镜像

docker  rmi$(docker  images  -f  dangling=true -q)  删除无标签的所有镜像

docker  tag  要命名的镜像  名称  #设置镜像标签,也就是给镜像添加一个名称,名称组件通常包括命名空间和仓库名称

一个完整的镜像名称:[主机名:端口]/命名空间/仓库名称:[标签]

docker  inspect  [-f(--format)]  ubuntu 显示镜像(可以是容器)的详细信息,可使用-f显示特定内容

docker  history  ubuntu  查看镜像(不可以是容器)的构建历史,层次信息

docker  history  --no-trunc  ubuntu   查看完整信息

docker  search  ubuntu 查找镜像

docker  rmi [选项] ubuntu  删除镜像(如果一个镜像对应了多个标签,只有当最后一个标签被删除时,镜像才真正被删除)-f:删除与该ID匹配的所有镜像  --no-prune:表示不删除没有标签的父镜像

docker save --output hello-world.tar hello-world  将镜像导出到归档文件中,也就是将镜像保存到本地   ls  -sh  hello-world.tar  可以显示出归档文件

docker ps -a  列出本地主机上的所有容器列表(COMMAND表示容器启动时执行的命令)

docker ps --no-trunc  列出完整的容器ID

docker ps -s  可以查看容器的大小(第一个值表示容器可写层当前所用数据大小,第二个值是虚拟大小,表示该容器所用的只读镜像的数据量加上容器的可写层的和)

docker  rename  现有名称  重命名名称  #为容器重命名

docker attach   将本地的标准输入、标准输出和错误流附加到正在运行的容器上,就是连接到正在运行的容器,进入容器

        要连接的容器必须运行

root@ubuntu:/home# docker run -d --name centostest centos /usr/bin/top -b
2d36c132cdb8b42cecbdd997c6b71e174c3da45ed1985c845b2bf01d3e2ebcee

        打开另一个终端:

wusa@ubuntu:~/Desktop$ docker attach centostest


top - 07:43:36 up 1 day,  7:01,  0 users,  load average: 0.87, 0.32, 0.17
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.1 us,  1.5 sy,  0.0 ni, 96.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3876.0 total,   1114.3 free,   1168.8 used,   1592.9 buff/cache
MiB Swap:    923.3 total,    923.3 free,      0.0 used.   2453.4 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      1 root      20   0   48996   3668   3132 R   0.0   0.1   0:00.17 top

top - 07:43:39 up 1 day,  7:01,  0 users,  load average: 0.87, 0.32, 0.17
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  1.2 sy,  0.0 ni, 97.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3876.0 total,   1114.3 free,   1168.7 used,   1592.9 buff/cache
MiB Swap:    923.3 total,    923.3 free,      0.0 used.   2453.4 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      1 root      20   0   48996   3668   3132 R   0.0   0.1   0:00.17 top^C

        Ctrl+C不仅会退出容器,而且会使容器终止,要使容器依然运行,要在docker run加上

        --sig-proxy=false

docker commit   从当前容器创建新的镜像

docker cp   在容器和本地文件系统之间复制文件和目录

docker create   创建新的容器

docker diff   检查容器创建以来其文件系统上文件或目录的更改

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

        组合-it   -d表示在后台运行命令

docker export   将容器的文件系统导出为一个归档文件

docker inspect   显示一个或多个容器的详细信息

docker kill   杀死一个正在运行的容器

docker logs   获取容器的日志信息

docker ps   输出容器列表

        -a(--all) 显示所有容器,包括未运行的容器

        -f(--filter) 根据条件过滤显示的容器

        -l(--last) 显示最近创建的容器

        -n(--last int) 列出最近创建的n个容器

        --no-trunc 不截断输出,显示完整的容器信息

        -q(--quiet) 采用静默模式,只输出容器ID

        -s(--size) 显示总的文件大小   

    

docker pause   暂停一个或多个容器内的所有进程

docker port   列出容器的端口映射或特定的映射

docker restart   重启一个或多个容器

docker rm   删除一个或多个容器

        -f(--force) 强制删除

        -l(--link) 设置是否删除容器的网络连接,而保留容器本身

        -v(--volumes) 设置是否删除与容器关联的卷

        

docker run   创建一个新容器并运行

        -d(--detach) 后台运行容器,返回容器ID

        -i(--interactive) 让容器的标准输入保持打开,通常与-t同时使用

        -t(--tty) 为容器重新分配一个伪输入终端

        -p(--publish) 设置端口映射,格式为“主机端口:容器端口”

        --dns 指定容器使用dns服务器,默认和主机的dns设置一致

        --name 为容器指定一个名字

        --rm 容器退出时自动删除

启动容器执行命令后自动终止:

docker run ubuntu /bin/echo "it is a container"
输出:it is a container

启动容器并允许和用户交互:

用exit或ctrl+D退出

root@ubuntu:/home# docker run -it  ubuntu /bin/bash
root@627ff0d14c38:/# 

启动容器并让其以守护进程的形式在后台运行:

可以使用docker logs获取容器的输出信息

root@ubuntu:/home# docker run -d -p 80:80 --name testweb httpd
64ae6caf60c6a8080a2c9275621408d3fb284b63fae5295f8247268d3e074509

docker start   启动一个或多个已停止的容器

docker stats   显示容器资源使用统计信息的实时流

docker stop   停止一个或多个正在运行的容器

docker top   显示正在运行的容器

docker unpause   恢复一个或多个容器内被暂停的的所有进程

docker update   更新一个或多个容器配置

docker wait   阻塞一个或多个容器运行,知道容器停止运行,输出退出码

docker container prune   删除所有停止执行的镜像

systemctl daemon-reload

systemctl restart docker  重启docker

docker network connect 将容器连接到指定的网络

docker network create  创建一个网络

docker network disconnect  断开容器与指定网络的连接

docker network inspect  显示一个或多个网络的详细信息

docker network ls  显示网络列表

docker network prune  删除所有未使用的网络

docker network rm  删除一个或多个网络

docker info  查看docker主机当前使用的存储驱动

docker volume create 创建一个新的卷

docker volume ls 列出本地docker主机上的卷

docker volume inspect  查看卷的详细信息

docker volume prune  删除未被容器或者服务副本使用的全部卷

docker volume rm  删除未被使用的指定卷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值