docker-组件[容器]

  1. 容器介绍
  2. 运行容器的命令
  3. 操作容器的命令

容器介绍

容器是Docker的另一个核心组件。

简单的说,容器是镜像的一个运行实例。

如果认为虚拟机是模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。那么Docker容器就是独立运行的一个或一组应用,以及它们的必需运行环境。

运行容器的命令

格式 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

查看容器常用选项:
docker run --help

-i 			交互式
-t 			分配一个伪终端
-d 			运行容器到后台
-e 			设置环境变量
-p 			发布容器端口到主机
-P 			发布容器所有EXPOSE的端口到宿主机随机端口
--name 		指定容器名称
-h 			设置容器主机名
--ip 		指定容器IP,只能用于自定义网络
--network	连接容器到一个网络
-v 			将文件系统附加到容器
--restart	容器退出时重启策略,默认no,可选值:[always | on-failure]
-m 			容器可以使用的最大内存量
--cpus		容器可以使用的CPU梳理

例子:

  • 启动nginx容器到后台

    docker run -d nginx		
  • 启动nginx容器到后台,并且分配一个伪终端

    docker run -it -d nginx	
  • 访问宿主机88端口,即可映射到容器里面的80端口

    docker run -d -e env=prod -p 88:80 --name web -h web --restart=always nginx	
  • 指定容器内存、cpu

    docker run -m="500m" --cpus="1" -d nginx

操作容器的命令

eg. docker container COMMAND

  • ls 列出容器
  • inspect 查看一个或多个容器详细情况
  • exec 在运行容器中执行命令
  • commit 创建一个新镜像来自一个容器
  • cp 拷贝文件/文件夹到一个容器
  • logs 获取一个容器日志
  • port 列出或指定容器端口映射
  • top 显示一个容器运行的进程
  • stats 显示容器资源使用统计
  • stop/start/restart 停止/启动/重启一个或多个容器
  • rm 删除一个或多个容器
  • prune 移除已停止的容器

例子

  • 列出本地所有容器

    docker container ls
    docker ps 
  • 使用web容器环境执行ls命令(其中web为容器的名称)

    docker exec web ls
  • 进入容器中(其中web为容器的名称,进入容器后可查看变量echo $env)

    docker exec -it web bash	
  • 查看容器内的进程(其中web为容器的名称)

    docker top web 			
  • 重启容器

    docker restart web 			
  • 拷贝宿主机上的文件mainfest.json 到web容器的根目录下

    docker cp mainfest.json web:/ 
  • 列出web容器端口映射

    docker port web
  • 查看web容器中的进程

    docker top web	
  • 查看web容器内的资源使用情况

docker stats web	
  • 重启web容器

    docker restart web
  • 删除web容器

    docker rm -f web
  • 移除已经停止的容器

    docker container prune
  • 删除所有容器

    docker rm -f ${docker ps -qa}
  • 将某容器为本,创建除一个新镜像

    docker commit <容器名称或容器ID> <镜像名称:版本号>	

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
My Show My Code