Docker容器管理

1、什么是容器

容器就类似于我们运行起来的一个操作系统,而且这个操作系统启动了某些服务。这里的容器指的是运行起来的一个Docker镜像

2、容器相关命令

]# docker help | grep container
A self-sufficient runtime for containers
  run         Create and run a new container from an image
  exec        Execute a command in a running container
  ps          List containers
  container   Manage containers
  attach      Attach local standard input, output, and error streams to a running container
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  export      Export a container's filesystem as a tar archive
  kill        Kill one or more running containers
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  wait        Block until one or more containers stop, then print their exit codes

3、容器命令实战

3.1、查看容器【ps -a】

3.1.1、查看所有的容器

docker ps -a 

3.1.2、过滤查看部分容器

docker ps --filter status=exited -q

# 属性解析
status=exited # 过滤条件
 -q           # 显示容器ID

3.2、启动容器【run】

3.2.1、命令语法解析

docker run -itd  <image_name>

常见参数:
 -e, --env list               # 设置环境变量
     --env-file list          # 从文件获取环境变量
 -i, --interactive            # 打开标准输入
 -t, --tty                    # 分配一个tty
 -d, --detach                 # 后台运行,并且打印容器ID
 --name string                # 容器的名字
 -h, --hostname string        # 容器主机名
 --rm                         # 容器停止,则删除运行容器的运行记录
 --restart string             # 容器退出时要应用的重新启动策略(默认为“否”)

3.2.2、使用容器ID启动【start】

docker start [container_id]

3.3、关闭容器【stop】

docker stop [container_id]

3.4、删除容器【rm】

docker rm [-f] [container_id]

批量删除的技巧: docker rm
-f $(docker ps -a -q)

3.5、进入容器【exec】

docker exec -it [container_id] /bin/bash

属性解析
-i: 则让容器的标准输入保持打开。
-t: 让docker分配一个伪终端,并绑定到容器的标准输入上
/bin/bash: 执行一个命令

3.6、退出容器【exit】

方法一:exit
方法二:Ctrl + D

3.7、提交容器【commit】

docker commit -m '改动信息' -a "作者信息" [container_id] [new_image:tag]

3.8、查看容器的日志【log】

docker logs [container_id]

3.9、查看容器的属性【inspect】

3.9.1、语法

docker inspect [container_id]

3.9.2、格式化输出属性

专用格式:docker inspect -f '{{json .NetworkSettings.Ports}}' [container_id]
定制格式:docker inspect -f 'Hello from container {{.Name}}' [container_id]

3.9.3、高阶格式信息输出

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}' [container_id]

3.9.4、属性解析

{{}} 表示模板指令,里面存放属性的名称
“.” 表示“当前上下文,表示容器元数据的整个数据结构,两个属性间的. 代表上下级 
range 用于遍历结构内返回值的所有数据

 

posted @ 2023-05-17 18:18  小粉优化大师  阅读(81)  评论(0编辑  收藏  举报