docker--容器

一.容器是什么?

  •    容器(Container):容器是一种轻量级、可移植,并将应用程序进行打包的技术,使应用程序可以在几乎任何地方以相同的方式运行。
  •    docker将镜像文件运行起来后,产生的对象就是容器。容器就相当于是镜像运行起来的一个实例。
  •    容器具备一定生命周期。
  •    容器创建后,会存储在宿主机/var/lib/docker/containers目录下

 二.容器的查看、创建、运行、暂停、取消暂停、重启、关闭、终止、删除:

  • 查看:

          docker ps              //查看正在运行的容器

          docker ps -a         //查看所有运行过的容器,包括已经不运行的容器

  • 创建一个待运行的容器:

         (1)创建容器:docker create -it --name [给容器起名] [依赖镜像] [容器内部命令]

                  演示:docker create -it --name abcd ubuntu ls -a

         (2)启动这个容器:docker start -a 容器名或容器id

                  演示:docker start -a abcd

  •   创建新容器并后台运行:(加-d参数)

           格式:docker run -itd --name 给容器起名 依赖镜像

           演示:docker run -itd --name aaa ubuntu

  • 暂停一个容器:

           格式:docker pause 容器名或容器id

           演示:docker pause 13ba395c5d0e

  • 取消暂停:

           格式:docker unpause 容器名或容器id

           演示:docker unpause 13ba395c5d0e

  •  容器重启:

           格式:docker restart 容器名或容器id

           演示:docker restart 13ba395c5d0e

  •  容器关闭:(不是立即执行,而是延迟关闭容器)

           格式:docker stop 容器名或容器id

           演示:docker stop 13ba395c5d0e

  •  容器终止:(立即强制关闭一个容器)

           格式:docker kill 容器名或容器id

           演示:docker kill 13ba395c5d0e

  • 删除一个容器:

            首先停止容器:docker stop 容器名或容器id

            然后再删除容器:docker rm 容器名或容器id

       或

             对正在运行中的容器强制删除: docker rm -f 容器名或容器id

  • 强制删除全部容器:

             docker rm -f $(docker ps -q -a)

三.容器的进入与退出:

  •    创建容器的同时进入该容器

           格式 :docker run -it --name 给容器起名 依赖镜像 /bin/bash

           演示:docker run -it --name haha ubuntu-min /bin/bash

  •   手工方式进入容器

             格式:docker exec -it 容器名或容器id /bin/bash

             演示:docker exec -it haha /bin/bash

  • 脚本方式进入容器

          (1)在当前目录下sudo vim docker_in.sh,输入下面内容:

                       docker_in(){
                             NAME_ID=$1
                             PID=$(docker inspect --format {{.State.pid}} $NAME_ID)
                             nsenter --target $PID --mount --uts --ipc --net --pid
                        }
                        docker_in $1

          (2) 给予脚本可执行权限: sudo chmod 777 docker_in.sh

          (2)通过命令进入容器:./docker_in.sh [容器id]

四.基于容器创建镜像

  •    方式一

            格式:docker commit -m ”改动信息“ -a “作者信息” [容器id] [新镜像名:新镜像版本]

            演示:docker commit -m "mkdir hello" -a "sxf" 5aec24ca8f6c newubuntu:v1.0             

  • 方式二

             格式 (1)先导出: docker export 容器id > 模板文件名.tar

                     (2)再导入:cat 模板文件名 | docker import - 导入后新镜像名

             演示(1)docker export 5aec24ca8f6c > haha.tar

                     (2)cat haha.tar | docker import - new2ubuntu

五.日志、信息、端口、重命名

  •    查看容器运行日志

          格式:docker logs 容器id

          演示:docker logs 5aec24ca8f6c

  • 查看容器详细信息

          格式:docker inspect 容器id

          演示:docker inspect 5aec24ca8f6c   

  • 查看容器端口信息

          格式:docker port 容器id

          演示:docker port 5aec24ca8f6c   

  • 容器重命名

          格式:docker rename 容器id或容器名 新容器名

          演示:docker rename 5aec24ca8f6c haha1

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值