博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker $ 第三篇 :Docker 容器的使用
阅读量:4104 次
发布时间:2019-05-25

本文共 2328 字,大约阅读时间需要 7 分钟。

一.Docker容器简介

1.镜像和容器的关系,就像面向对象的程序设计中的类和实例,镜像是静态的,容器是镜像运行后产生的,容器1可被创建,启动,停止,删除。

2.容器是一个独立的空间,就下宿主下的操作系统,有自己的文件系统,网络配置,进程,由于容器的隔离性,在容器下运行的应用比在宿主下更加安全。
3.容器和镜像一样都是分层存储,容器以镜像为基础运行,运行时创建一个当前容器的存储层,存储层的生命周期和容器一样,容器消亡,存储层也消亡,保存于存储层的信息随着容器消亡而消失,所以,文件的写入操作,应该使用数据卷(Volume),数据卷的生存周期独立于容器,容器消亡,数据卷不会消亡,数据也不会丢失。

二.Docker容器命令

  • 运行容器 # docker run

功能

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

语法

# docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

参数

-d : 后台运行容器,返回容器id

-t : 让docker分配一个伪终端,绑定到容器标准输入上,通常与 -i 同时使用。
-it : -i:交互式操作,-t:终端,进入bash执行命令查看返回结果,需要交互式终端。
-i : 以交互模式运行容器,让容器的标准输入保持打开,通常与 -t 同时使用。
–rm : 容器退出后删除容器(避免浪费空间),可选,docker rm conName 删除容器。
–name : 命名
-p : 暴露给外部的端口,主机(宿主)端口:容器端口
bash : 镜像后的命令,shell交互模式。

实例

# docker run --rm -d -p 80:80 --name webserver nginx# docker exec -it webserver bash
  • 进入容器# docker attach

功能

连接到正在运行中的容器,进行命令操作。

语法

docker attach [OPTIONS] CONTAINER

参数

–sig-proxy=false :CTRL-C不会关闭容器

实例

# docker attach --sig-proxy=false b11
  • 进入容器# docker exec

功能

连接到正在运行中的容器,进行命令操作。

语法

docker exec -it [ID Or NANME] bash

参数

-i :以交互模式运行容器,让容器的标准输入保持打开,通常与 -t 同时使用。

-t :让docker分配一个伪终端,绑定到容器标准输入上,通常与 -i 同时使用。
-it :-i:交互式操作,-t:终端,进入bash执行命令查看返回结果,需要交互式终端。

实例

# docker run --rm -d -p 80:80 --name webserver nginx# docker exec -it webserver bash
  • 终止容器 # docker stop

语法

# docker stop [ID Or NANME]

  • 重启容器 # docker restart

语法

# docker restart [ID Or NANME]

  • 启动已终止容器 # docker start

语法

# docker start [ID Or NANME]

  • 删除容器 # docker rm

语法

1.删除单个停止的容器

# docker container rm [ID Or NANME]# docker rm [ID Or NANME]

2.删除所有容器

# 停止并删除所有容器# docker rm -f $(docker ps -aq)# docker stop $(docker ps -q) & docker rm $(docker ps -aq)
# 删除所有运行的容器# docker rm -f $(docker ps -q)
# 删除所有停止的容器# docker container prune
  • 列出容器 # docker ps

功能

列出容器

语法

# docker ps [OPTIONS]

参数

-a :显示所有的容器,包括未运行的。

-l :显示最近创建的容器。
-f :根据条件过滤显示的内容。
-n :列出最近创建的n个容器。
-q :静默模式,只显示容器编号。

实例

# docker ps -a
  • 查看容器信息 # docker inspect

功能

获取容器和镜像的信息

语法

docker inspect [OPTIONS] NAME|ID [NAME|ID…]

参数

-f :指定返回值的模板文件。

-s :显示总的文件大小。
–type :为指定类型返回JSON。

实例

# docker inspect nginx
  • 查看容器进程信息 # docker top

功能

查看容器中运行的进程信息,支持 ps 命令参数

语法

docker top [OPTIONS] CONTAINER [ps OPTIONS]

  • 容器的日志 # docker logs

功能

获取容器的日志

语法

docker logs [OPTIONS] CONTAINER

参数

-f : 跟踪日志输出

–since :显示某个开始时间的所有日志
-t : 显示时间戳
–tail :仅列出最新N条容器日志

  • 容器端口映射 # docker port

功能

列出指定的容器的端口映射

语法

docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]

ABOUT

公众号:【星尘Pro】

github:

推荐阅读

转载地址:http://abfsi.baihongyu.com/

你可能感兴趣的文章
题目40: 公约数和公倍数
查看>>
题目20: 吝啬的国度
查看>>
SQL 多条件查询
查看>>
题目16: 矩形嵌套
查看>>
用HTML5 Audio API开发游戏音乐
查看>>
Web开发者应掌握的12个Firebug技巧
查看>>
西电计算机研究生复试上机题
查看>>
linux下如何清空一个文件
查看>>
02x与 2x
查看>>
为什么snprintf比sprintf更安全 (另外,请注意, Windows和Linux中的snprintf函数有区别
查看>>
二叉排序树 BST 的查找算法(递归算法)
查看>>
linux find命令出现Permission denied后怎么办 ------利用linux黑洞文件/dev/nu
查看>>
adb连接android手机后 adb remount时出现remount failed operation not
查看>>
利用php的explode函数将字符串按分隔符 比如空格 分拆并组装在数组中-----要考虑连续空格问题
查看>>
gcc编译出现undefined reference to 'pthread create'的解决方法
查看>>
find 函数和string npos 的用法
查看>>
js弹出输入框
查看>>
为什么有时ping不通www baidu com但可以访问www baidu com网页
查看>>
傅盛 认知升级三部曲 深度好文
查看>>
VC++6 0环境下利用openssl编程入门(以计算md5值为例)的全解析------openssl库直接给大家弄好,
查看>>