docker——操作指令
- docker 文件系统操作指令
- 容器生命周期管理
- 容器操作
- 1、 ps 列出所有容器,默认只列出当前正在运⾏的容器
- 2、 inspect ⽤于查看容器的配置信息,包含容器名、环境变量、运⾏命令、主机配置、⽹络配置和 数据卷配置等。
- 3、 top 查看容器中运⾏的进程信息,⽀持 ps 命令参数
- 4、 attach 进⼊容器内部,推出后停⽌
- 5、 events 实时输出docker服务器的事件,包括容器的创建、启动和关闭等
- 6、 logs ⽤于查看容器的⽇志,它将输出到标准输出的数据作为⽇志输出到docker logs命令的终端 上。常⽤于后台型容器
- 7、 wait 捕捉容器停⽌时的退出码,执⾏此命令后,该命令会“hang”在当前终端,直到容器停⽌,此 时,会打印出容器的退出码。
- 8、 export 将容器打包,导出为tar⽂件格式
- 9、 port 输出容器与宿主机端⼝映射的信息
- 语法:
- 镜像仓库
- 本地镜像管理
- 查看docker的info|version
docker 文件系统操作指令
1.commit 通过容器创建本地镜像
语法:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
说明:
-a : 提交的镜像作者
-c : 使用 Dockerfile 指令来创建镜像
-m : 提交时的说明文字
-p : 在 commit 时,将容器暂停
OPTIONS
2.cp 在宿主机和容器之间相互拷贝文件
语法:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
3.diff 查看容器内发生改变的文件
语法:
docker diff CONTAINER
容器生命周期管理
1. run 启动一个容器,等同于 docker create && docker start
命令
语法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器 ID ;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机 ( 宿主 ) 端口 : 容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的 DNS 服务器,默认和宿主一致;
--dns-search example.com:指定容器 DNS 搜索域名,默认和宿主一致;
-h "mars": 指定容器的 hostname ;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定 CPU 运行;
-m: 设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[ ]: 添加链接到另一个容器;
--expose=[ ]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷
2、start/stop/restart
启动、停止、重启一个容器
语法:
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker start [OPTIONS] CONTAINER [CONTAINER...]
3、kill 强制终止容器
语法:
docker kill [OPTIONS] CONTAINER [CONTAINER...]
4、 pause unpause 暂停、恢复容器中所有的进程。
语法 :
docker pause CONTAINER [CONTAINER...]
docker unpause CONTAINER [CONTAINER...]
5、create 仅创建一个容器
语法:
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
6、exec 进入容器
语法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
说明:
-d : 分离模式 : 在后台运行
-i : 即使没有附加也保持 STDIN 打开
OPTION说明:
-d:分离模式:在后台运行
-i:即使没有附加也保持STDIN打开
-t:分配一个伪终端
7、rm删除一个或多个容器,默认只能删除非运行状态的容器,-f参数可以强制删除
语法:
docker rm [OPTION] CONTAINER [CONTAINER...]
OPTIONS说明:
-f :通过 SIGKILL 信号强制删除⼀个运⾏中的容器。
-l :移除容器间的⽹络连接,⽽⾮容器本⾝。
-v :删除与容器关联的卷。
容器操作
1、 ps 列出所有容器,默认只列出当前正在运⾏的容器
语法:
docker ps [OPTIONS]
OPTIONS说明:
-a 参数可以查看所有状态的容器
-f :根据条件过滤显⽰的内容。
--format :指定返回值的模板⽂件。
-l :显⽰最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显⽰容器编号。
-s :显⽰总的⽂件⼤⼩。
2、 inspect ⽤于查看容器的配置信息,包含容器名、环境变量、运⾏命令、主机配置、⽹络配置和 数据卷配置等。
语法:
docker inspect [OPTIONS] CONTAINER|IMAGE|TASK
OPTIONS说明:
-f :指定返回值的模板⽂件。
-s :显⽰总的⽂件⼤⼩。
--type :为指定类型返回JSON。
3、 top 查看容器中运⾏的进程信息,⽀持 ps 命令参数
语法:
docker top CONTAINER [ps OPTIONS]
4、 attach 进⼊容器内部,推出后停⽌
语法:
docker attach [OPTIONS] CONTAINER
attach
是可以带上--sig-proxy=false
来确保CTRL-D
或CTRL-C
不会关闭容器
5、 events 实时输出docker服务器的事件,包括容器的创建、启动和关闭等
语法: docker events [OPTIONS]
OPTIONS说明:
-f :根据条件过滤事件;
--since :从指定的时间戳后显⽰所有事件;
--until :流⽔时间显⽰到指定的时间为⽌;
6、 logs ⽤于查看容器的⽇志,它将输出到标准输出的数据作为⽇志输出到docker logs命令的终端 上。常⽤于后台型容器
语法:
docker logs [OPTIONS] CONTAINER
OPTIONS说明:
-f : 跟踪⽇志输出
--since :显⽰某个开始时间的所有⽇志
-t : 显⽰时间戳
--tail :仅列出最新N条容器⽇志
7、 wait 捕捉容器停⽌时的退出码,执⾏此命令后,该命令会“hang”在当前终端,直到容器停⽌,此 时,会打印出容器的退出码。
语法:
docker wait CONTAINER [CONTAINER...]
8、 export 将容器打包,导出为tar⽂件格式
语法:
docker export [OPTIONS] CONTAINER
9、 port 输出容器与宿主机端⼝映射的信息
语法:
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
镜像仓库
docker port CONTAINER [PRIVATE_PORT[/PROTO]] 镜像仓库
1、 login 登录到docker 镜像仓库,默认为dockerhub
语法: docker login [OPTIONS] [SERVER]
OPTIONS说明:
-u :登陆的⽤户名
-p :登陆的密码
2、 logout 登出镜像仓库
语法:
docker logout [OPTIONS] [SERVER]
3、 pull 从仓库中下载⼀个镜像,默认为docker hub上
语法:
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS说明:
-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启
4、 push 上传镜像到仓库,默认为docker hub上,私⼈仓库需要⽤户名和密码
语法:
docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:
--disable-content-trust :忽略镜像的校验,默认开启
5、 search 在docker hub上搜索镜像
语法:
docker search [OPTIONS] TERM
OPTIONS说明:
--automated :只列出 automated build类型的镜像;
--no-trunc :显⽰完整的镜像描述;
-f <过滤条件>:列出收藏数不⼩于指定值的镜像。
镜像仓库参数说明
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官⽅发布
stars: 类似 Github ⾥⾯的 star,表⽰点赞、喜欢的意思。
AUTOMATED: ⾃动构建。
本地镜像管理
1、 images 列出本地所有的镜像
语法:
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS说明:
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显⽰镜像的摘要信息;
-f :显⽰满⾜条件的镜像;
--format :指定返回值的模板⽂件;
--no-trunc :显⽰完整的镜像信息;
-q :只显⽰镜像ID。
2、 rmi 删除⼀个或多个镜像
语法:
docker rmi [OPTIONS] [IMAGE...]
OPTIONS说明:
-f :强制删除;
--no-prune :不移除该镜像的过程镜像,默认移除;
3、 tag 标记本地镜像,将其归⼊某⼀个仓库
语法:
docker tag IMAGE[:TAG] IMAGE[:TAG]
4、 build 命令⽤于使⽤ Dockerfile 创建镜像
语法:
docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
--build-arg=[] :设置镜像创建时的变量;
--cpu-shares :设置 cpu 使⽤权重;
--cpu-period :限制 CPU CFS周期;
--cpu-quota :限制 CPU CFS配额;
--cpuset-cpus :指定使⽤的CPU id;
--cpuset-mems :指定使⽤的内存 id;
--disable-content-trust :忽略校验,默认开启;
-f :指定要使⽤的Dockerfile路径;
--force-rm :设置镜像过程中删除中间容器;
--isolation :使⽤容器隔离技术;
--label=[] :设置镜像使⽤的元数据;
-m :设置内存最⼤值;
--memory-swap :设置Swap的最⼤值为内存+swap,"-1"表⽰不限swap;
--no-cache :创建镜像的过程不使⽤缓存;
--pull :尝试去更新镜像的新版本;
--quiet, -q :安静模式,成功后只输出镜像 ID;
--rm :设置镜像成功后删除中间容器;
--shm-size :设置/dev/shm的⼤⼩,默认值是64M;
--ulimit :Ulimit配置。
--squash :将 Dockerfile 中所有的操作压缩为⼀层。
--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在⼀次构建中为⼀个镜像设置多个标签。
--network: 默认 default。在构建期间设置RUN指令的⽹络模式
5、 history 显⽰镜像的创建过程
语法:
docker history [OPTIONS] IMAGE
OPTIONS说明:
-H :以可读的格式打印镜像⼤⼩和⽇期,默认为true;
--no-trunc :显⽰完整的提交记录;
-q :仅列出提交记录ID。
6、 save 将指定镜像保存成 tar 归档⽂件
语法:
docker save [OPTIONS] IMAGE [IMAGE...]
7、 load 将打包的镜像导⼊
语法:
docker load [OPTIONS]
OPTIONS说明:
--input , -i : 指定导⼊的⽂件,代替 STDIN。
--quiet , -q : 精简输出信息。
8、 import 把创建的容器归档导⼊成⼀个镜像,类型为tar⽂件
语法:
docker images [OPTIONS] [REPOSITORY[:TAG]]
查看docker的info|version
1、 info 显⽰ Docker 系统信息,包括镜像和容器数
语法:
docker info [OPTIONS]
2、OPTIONS说明: version 显⽰docker的版本信息
语法:
docker version [OPTIONS]