美文网首页
1.3docker容器管理

1.3docker容器管理

作者: 刘岩2019 | 来源:发表于2019-04-10 23:50 被阅读0次

十:docker容器管理

docker将镜像文件启动, 得到一个容器, 一个容器可以被看做一个操作系统

1.容器查看

# 命令, 只能看到正在运行的容器的状态
# 启动的每个容器都是一个进程
# docker ps
# 相关的头介绍
# CONTAINER ID: 容器启动之后的ID, 是唯一的
# IMAGE: 当前容器是基于哪个镜像启动的
# COMMAND: 容器启动之后, 默认执行了什么命令
# CREATED: 容器的创建时间
# STATUS: 容器当前状态, 
#   created: 容器被创建, 但是不能使用
#   runing: 运行状态
#   pause: 暂停状态
#   exited: 容终止运行, 但是容器还在
# PORTS: 映射的端口, 主机和容器直接的端口映射, (为了数据交互,主机和容器进行网 络通信)
#NAMES: 容器启动之后的名字
#参数:
#  -a, --all: 显示所有容器, 默认只显示running状态的
#  -q, --quiet: 只显示容器ID

docker ps
docker ps -a
docker ps -aq
1.JPG

2.容器创建

# 容器被创建, 但是还不能使用, 需要启动
# $ docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
#   OPTIONS:
#       -a, --attach list   给容器关联 STDIN, STDOUT or STDERR
#       -t, --tty: 给容器绑定终端
#       -i, --interactive: 关联标准输入
#       --rm: 容器终止运行(exited状态)的时候, 自动被删除
#       --name string: 手动指定容器的名字, 如果没有指定, 会随机生成一个, 这个名字不能重复
#   IMAGE: 基于哪个镜像启动容器
#   COMMAND: shell命令可以不写, 或者写个bash,
#                           bash就是一个命令解析器,相当于没写
#   ARG...: shell命令的参数

docker create -it --rm --name myubuntu ubuntu:latest bash
docker create -i -t --rm --name myubuntu1 ubuntu:latest bash

1.JPG

3-1.启动已经创建的容器

# docker start [OPTIONS] CONTAINER [CONTAINER...]
#   OPTIONS:
#       -a, --attach               Attach STDOUT/STDERR and forward signals 标准输出/标准错误 
#       -i, --interactive          Attach container's STDIN   标准输入
#   CONTAINER: 容器名或者容器ID
docker start -ai myubuntu  启动容器,关联标准输出/错误,标准输入,会自动进入容器内部 ctrl+d退出容器
docker start myubuntu 启动容器,没有关联输入输出,不会进入容器内部

#容器创建时,指定参数--rm: 容器终止运行(exited状态)的时候, 自动被删除
1.JPG

3-2.创建新容器并启动

# 通过一个命令创建容器, 并且启动
# docker run 等于 docker create + docker start
# docker run    [OPTIONS] IMAGE [COMMAND] [ARG...]
#   OPTIONS: 
#       -d, --detach: 以守护进程的形式运行
#       -a, --attach list   给容器关联 STDIN, STDOUT or STDERR
#       -t, --tty: 给容器绑定终端
#       -i, --interactive: 关联标准输入
#       --rm: 容器终止运行的时候, 自动被删除
#       --name string: 手动指定容器的名字, 如果没有指定, 会随机生成一个, 这个名字不能重复

docker run -itd ubuntu:latest bash    //以守护进程的形式运行
docker run -itd --name xxl1 ubuntu:latest bash  //以守护进程的形式运行
docker run -it --name xxl2 ubuntu:latest bash    //会直接进入容器内部,ctrl+D退出
docker run -it --rm --name xxl3 ubuntu:latest bash //容器终止运行的时候, 自动被删除

4.容器的暂停/重启

暂停

# docker pause CONTAINER [CONTAINER...]
docker pause 容器名字或者容器ID

取消暂停

# docker unpause CONTAINER [CONTAINER...]
docker unpause 容器名字或者容器ID

重启

# docker restart [OPTIONS] CONTAINER [CONTAINER...]
#     Options:
#        -t, --time int: 延时时间, 默认10s
docker restart -t 30 容器名字或者容器ID
docker restart 容器名字或者容器ID

5.容器的关闭/终止/删除

关闭:

# 从running -> exited 状态, 容器还在, 有延时
# docker stop [OPTIONS] CONTAINER [CONTAINER...]
#     Options:
#      -t, --time int: 延时时间, 默认10s

终止:

# 从running -> exited 状态, 容器还在, 直接关闭, 没有延时
# docker kill [OPTIONS] CONTAINER [CONTAINER...]
#    Options:
#      -s, --signal string: 指定发出的信号, 一般不用

区别:一个有延时,一个没有延时

删除:

1.删除未运行非 running(up) 的容器

docker rm 容器名/容器ID

2.删除运行的容器

docker rm -f 容器名/容器ID 
    -f: 强制删除容器

3.批量删除容器

docker rm $(docker ps -aq) -f
docker rm `docker ps -aq` -f

6.容器的进入/退出

1.进入容器
(1)创建并进入 - 使用频率低

# docker run    [OPTIONS] IMAGE [COMMAND] [ARG...]
# 非守护进程的形式创建并运行,会直接进入容器内部
docker run -it --rm --name myxx ubuntu bash

(2)手动进入

# 创建并启动容器,以守护进程的形式
  docker run -itd --rm --name myxx ubuntu bash
# 手动进入容器中
# docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
#   OPTIONS:
#       -i, --interactive          Keep STDIN open even if not attached
#       -t, --tty                  Allocate a pseudo-TTY
#   CONTAINER: 容器名字/容器ID
#   COMMAND: shell指令 -> bash
#   [ARG...]: shell命令的参数
docker exec -it 27e729b90b49 bash
1.JPG

2.退出容器

# 第一种方式
在终端输入: exit
# 第二种方式: ctrl+D

7.容器的日志/信息/端口/重命名

1.查看容器的日志信息

# 容器运行一段时间之后, 会生成log日志, 如果没有生成, 是看不到的
docker logs 容器名/容器ID

2.查看容器的详细信息

# https://yq.aliyun.com/articles/230067
# 查看镜像的详细信息
docker inspect 容器名/容器ID

3.查看容器的端口信息

# 查看本机和容器的端口映射
docker port 容器名/容器ID

4.容器重命名

# docker rename CONTAINER NEW_NAME
# docker rename 容器名/容器ID 新的容器名字
docker rename 27e729b90b49 mynewub

7.基于容器的镜像导入导出

1.镜像的导出

# 方式一:
# docker export [OPTIONS] CONTAINER
#   Options:
#       -o, --output string: 导出的镜像文件的名字         
docker export -o myub.img 7d94e1faf186
docker export -o ./myub01.img 7d94e1faf186

# 方式二:
# docker export 容器名/容器ID > 导出的镜像的名字(自己起)
docker export 7d94e1faf186 > myub02.img

2.镜像的导入 -> 导入到本地的镜像仓库中

# cat 要导入的镜像文件 | docker import - 新的镜像名:tag
cat myub.img | docker import - myub:v1.0
1.JPG

与直接对镜像导入导出对比:

save 和 export
    - 使用save导出镜像, 不能对镜像进行修改
    - export通过容器导出, 原始镜像可以通过启动容器进行修改
    - 通过export导出镜像, 会丢失镜像的历史记录
       如果没有通过容器对进行做任何修改, export导出的镜像小
load 和 import
    - 都是将导出的镜像导入到本地镜像仓库
    - 如果使用load进行导入: 镜像名无法修改
    - import导入镜像: 镜像名是可以修改的
1543762727999.png

相关文章

  • 1.3docker容器管理

    十:docker容器管理 docker将镜像文件启动, 得到一个容器, 一个容器可以被看做一个操作系统 1.容器查...

  • Docker系列三:监视管理容器

    检视容器及利用cockpit管理容器 其他开源监视工具 Shipyard优点: 支持镜像管理、容器管理。 支持控制...

  • 帮助文档-docker-v1.0.1

    镜像管理 容器管理

  • docker.容器管理

    第三节.docker容器管理创建容器常用选项 管理容器常用命令 进入容器的俩种方法

  • 1.3Docker镜像

    之前学习了Docker的安装配置等,今天来体验下镜像部分,首先Docker的镜像官方仓库是Docker Hub,上...

  • CoreOS容器云企业实战(9)--基于Rancher的Dock

    进入系统 进入主机管理界面--->容器管理某一台主机上的容器对于某一个容器的监控image.png容器资源的管理 ...

  • Docker命令使用

    Docker命令分类 容器生命周期管理 容器操作 容器rootfs命令 镜像仓库 本地镜像管理 版本信息 Dock...

  • 笔记:DOCKER相关

    镜像管理 看本机存在的images 删除某个镜像,参数是ImageID: 容器管理 启动容器: 查看运行中的容器:...

  • 运行 Anbox

    概述 Anbox 运行时主要由两个分开的实例构成: 容器管理器 会话管理器 容器管理器的工作是管理容器的建立,并在...

  • 008

    自动化的容器管理 对于运行Docker容器来说,Googler容器引擎是一款强大的集群管理器和编排系统。容器引擎将...

网友评论

      本文标题:1.3docker容器管理

      本文链接:https://www.haomeiwen.com/subject/vdnaiqtx.html