Docker

Docker入门--命令篇

基础知识

镜像:类似于用于创建虚拟机的.iso文件
容器:虚拟机
Dockerfile:c程序源文件xxx.c
容器数据卷:共享文件夹

基本命令

查看本地镜像docker images [options]

-a   :列出仓库中所有镜像
-q   :只显示所有镜像的id号
--digests   :显示摘要信息

示例:--digest --no-trunc   :显示完整信息

在网络仓库搜索镜像:docker search [options] xx镜像名字

-filter=stars=30   :点赞数超过30
--no-trunc   :不省略信息
--automated   :只列出automated build类型的镜像

下载某个镜像到本地:docker pull xx镜像:[版本号] (也可以写镜像ID)

末尾没加版本号 :xxx 默认为最新版

删除本地镜像:docker rmi [option] xx镜像名(或 id):版本号 默认最新版

-f 镜像1:版本号 镜像2:版本号   :强制删除

示例:-f ${docker images -qa}   删除所有

容器命令( 先有镜像再有容器 )


新建并启动容器:docker run [option] 镜像名(或 id) [command] [args]

[command] [args] : 需要容器执行的命令和命令的参数   一般为: /bin/bash
[option]:参数

-name   :为容器起一个别称
-d   :后台启动,返回容器id,不进入容器
-i   :以交互模式运行容器 通常与 -t 同时使用
-t   :为容器重新分配一个伪输入终端
-P   :随机端口映射
-p   :指定端口映射 有以下几种形式

  •   hostip:hostPort:containerPort
  •   hostip::containerPort
  •   hostPort:containerPort
  •   containerPort

示例: docker run --name myKali -p 127.0.0.1:8888:8080 kali:19.4 /bin/bash

查看所有正在运行的容器:docker ps [options] 默认显示正在运行的

-a   :正在运行以及历史运行过的
-l   :显示最近创建的容器
-n 3   :显示最近3个创建的容器
-q   :静默模式,只显示容纳编号
--no-trunc   :不截断输出

退出容器(在容器内部):

exit   :关闭容器
ctrl + P + Q   :离开容器,但不关闭

启动容器(之前关闭的):docker start -i 容器ID

重启容器:docker restart -i 容器ID

停止容器:docker stop 容器ID

强制停止容器:docker kill 容器ID

删除已停止的容器:docker rm 容器ID

查看容器日志:docker logs -f -t --tail num 容器ID (-t 显示时间戳 -f 跟紧最新的日志并实时显示打印 --tail 数字 显示最后多少条)

查看容器内运行的进程:docker top 容器ID

查看容器内部细节:docker inspect 容器ID

进入正在运行的容器并以命令行交互:

docker attach 容器ID   :直接进入容器
docker exec -it 容器ID ls -l /temp   :在外面执行容器内部的命令,得到结果,可以进去容器,也可以不

从容器内拷贝数据到宿主机内::docker cp 容器ID:容器内路径 目的主机的路径

提交新容器至本地仓库:docker commit -m=描述信息 -a=作者 容器ID 要创建的目标镜像名:[版本号]

提交到网络仓库:docker push [OPTIONS] NAME[:TAG]

--disable-content-trust   忽略镜像的校验,默认开启

容器数据卷:

方法一:

docker run -it -v /宿主机绝对路径目录:/容器内目录:权限 镜像名 权限默认为读写

方法二:

  • 主机下建立一个 xxx文件夹
  • 再在此目录下写一个.ockfile文件 Dockerfile
  • docker built -f /xxx/Dockerfile -t xx/xxx 搭建镜像名为 xx/xxx
  • docker run -it xx/xxx

数据卷容器:

docker run -it --name docker01 镜像名(或 id)
docker run -it --name docker02 --volumes-from docker01 镜像名(或 id) 相当于继承 并且共享数据卷文件

posted @ 2019-12-13 23:45  1ndex-  阅读(215)  评论(0编辑  收藏  举报