笔记——docker常用命令总结

一、启动类命令

tip:docker命令在root权限下执行。

1、启动docker:systemctl start docker
2、停止docker:systemctl stop docker
3、重启docker:systemctl restart docker
4、查看docker状态:systemctl status docker
5、查看docker概要信息:docker info
6、查看docker总体帮助文档:docker --help
7、查看具体命令的帮助文档:docker 具体命令 --help
8、开机启动:systemctl enable docker

二、镜像命令

1、列出本地主机上的镜像:docker images //options:-a:列出本地所有镜像(含历史映像层);-q:只        
  显示镜像ID;
  tips:
   (1)在列出镜像后若干表头的含义:
   -----------------------------------------------------------------------------
   |  REPOSITORY  |      TAG       |  IMAGE ID  |   CREATED   |  VIRTUAL SIZE  |
   -----------------------------------------------------------------------------
   |  镜像仓库源   |  镜像标签版本号 |   镜像ID    | 镜像创建时间 |     镜像大小   |
   -----------------------------------------------------------------------------
   对于同一仓库源可以有一个镜像的多个版本,所以使用REPOSITORY:TAG来定义不同的镜像,如果不指定默认使用最新版本。
   (2)虚悬镜像:REPOSITORY和TAG都是<none>的镜像。
2、搜索某个镜像是否在远程仓库:docker search [options] xxx  //options:--limit N :只列出N个镜像
3、下载镜像:docker pull xxx  [:TAG]  //TAG不写默认最新
4、查看镜像/容器/数据卷所占的空间(在本地鲸鱼后背上):docker system df 
5、删除镜像:
  (1)删除单个:docker rmi [-f] 镜像的REPOSITORY或ID;
  (2)删除多个:docker rmi [-f] 镜像名1:TAG 镜像名2:TAG
  (3)删除全部:docker rmi [-f] $(docker images -qa)
  tip:-f为在该镜像被某容器使用时强制删除。

三、容器命令

1、新建并启动容器:docker run [OPTIONS] 镜像名 [COMMAND] [ARG...]
    常用的一些OPTIONS:
    (1)--name="自定义的容器名":为容器自定义一个名字,如果没定义的话系统会随机取一个
    (2)-d:后台运行程序并返回容器的ID(即启动守护式容器,后台运行)
    (3)-i:以交互模式运行容器,一般和-t同时使用
    (4)-t:为容器分配一个伪终端(不会生成新窗口,但是可以看见用户名的变化,接下来就相当于在容器中的                                
       终端使用命令行了,退出终端用exit),一般和-i同时使用(-it一起用相当于启动了一个交互式容器,前    
       台有伪终端等待交互)。tip:有的容器只能在前台启动,如果后台启动的话会自杀,eg:ubuntu
    (5)-P(大写):随机端口映射
    (6)-p(小写):指定端口映射
2、列出所有当前正在运行的容器:docker ps [OPTIONS]
    常用的一些OPTIONS:
    (1)-a:列出所有当前正在运行的容器+历史上运行过的
    (2)-l:显示最近创建的容器
    (3)-n:显示最近创建的n个容器
    (4)-q:静默模式,只显示容器的编号
3、退出容器:
    (1)exit:run启动容器,exit退出,容器停止
    (2)ctrl+p+q:run启动容器,ctrl+p+q退出,容器不停止
4、启动已经停止的运行的容器:docker start 容器ID或容器名
5、重启容器:docker restart 容器ID或容器名
6、停止容器:docker stop 容器ID或容器名
7、强制停止容器:docker kill 容器ID或容器名
8、删除已经停止的容器:docker rm 容器ID
    tips:(1)如果要强制删除某个正在运行的容器需要在rm后边加-f
          (2)一次删除多个容器:docker rm -f $(docker ps -a -q) 或 docker ps -a -q | xargs docker rm
9、查看容器日志:docker logs 容器ID
10、查看容器内运行的进程:docker top 容器ID
11、查看容器的内部细节:docker inspect 容器ID
12、进入正在运行的容器并用命令行交互:
    (1)docker exec -it 容器ID /bin/bash    (在容器中打开新的终端且可以启动新的进程。用exit退出不会导致容器停止)
    (2)docker attach 容器ID    (直接进入容器启动命令的那个终端,不会启动新的进程。用exit退出会导致容器停止)
13、从容器内拷贝文件到主机上:docker cp 容器ID:容器内路径 目的主机路径(可以用pwd看一下)
14、导入、导出容器:
    (1)导出容器的内容作为一个tar归档文件:docker export 容器ID > 文件名.tar
    (2)从tar包中的内容创建一个新的文件系统再导入为镜像:cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

四、制作镜像命令 

       Docker中的镜像分层,支持通过扩展现有的镜像创建新的镜像。新镜像是从base镜像一层一层叠加生成的。每安装一个软件,就在现有镜像的基础上增加一层(联合文件系统)。 

1、提交容器副本使之成为一个新的镜像:docker commit -m="描述信息" -a="作者" 容器ID 要创建的镜像名:[TAG]

五、容器数据卷

       Docker的容器数据卷相当于挂载在容器上的一个文件系统,它在宿主机文件和容器中文件之间进行实时的双向的文件更新以便完成数据的持久化。它还具有继承和共享的性质。

1、容器数据卷和宿主机的互通互联:docker run -it --privileged=true -v /宿主机目录绝对路径:/容器内目录路径:[读写权限] [--name 自定义容器名] 镜像名
    tips:1、宿主机目录和容器内目录系统会自动创建,不用提前创建好。
          2、[读写权限]是指在容器中可对文件进行何种操作(只是用来限制在容器中对文件的操作,宿主机对文件的操作不受限制),有两种。rw:可读可写(默认);ro:只读
          3、最好还是自定义一个容器名,后面继承也方便
2、查看数据卷是否挂载成功:docker inspect 容器ID :在这个json文件中查看Mounts属性
3、容器数据卷继承:docker run -it --privileged=true --volumes-from 父类容器名 [--name 自定义容器名] 镜像名
    tip:数据卷的继承实际上是路径的继承,也就是子继承了父挂载时的路径,子和父是两个独立的容器。父容器挂了之后不会影响子容器的正常工作。(省的再写一遍路径了)

六、Docker网络

1、帮助:docker network --help
2、查看已经创建的网络对象:docker network ls [OPTIONS]
    常用的一些OPTIONS:
    (1) --filter :过滤条件(如docker network ls -f 'driver=bridge')
    (2) --format :格式化打印结果
    (3) --no-trunc :不略缩显示
    (4) --quiet :只显示网络对象的ID
3、创建网络:docker network create [OPTIONS] NETWORK_NAME
    常用的一些OPTIONS:
    (1) --driver :指定网络的驱动(默认是bridge)
    (2) --subnet :指定子网网段(如192.168.0.0/16)
    (3) --gateway :子网的网关(如192.168.0.6)
    (4) --ip-range :执行容器的ip范围
4、删除一个或多个网络:docker network rm NETWORK 或 [NETWORK...]
5、查看网络详细信息:docker network inspect [--format] NETWORK
6、网络连接:docker network connect NETWORK CONTAINER
7、网络断开:docker network disconnect [--force] NETWORK CONTAINER
8、查看网卡信息(需进入到容器内):ip link show 或 ip a
9、配置虚拟网卡:
    (1)设置网卡IP地址:ifconfig eth1 x.x.x.x/x
    (2)禁用/启用虚拟网卡:ifconfig eth1 down/up
    

未完待续。。。。。。

Tip:解决虚拟机每次重新打开都没法上网的问题

第一步:win+R

26d02b5c44a94b5f9b9821de6778aa6d.png

第二步:启动下面两个(如果没启动的话)

019455c19ce745d497255cc67318d46f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值