docker容器用法

30 篇文章 0 订阅
27 篇文章 0 订阅

docker容器

容器是Docker又-核心概念简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。

新建一个容器

docker run -it centos7:latest  /bin/bash

-t:让docker分配一个终端并绑定到容器的标准输入上
-i:让容器的标准输入保持打开(交互模式)

可以使用exit退出,exit退出之后将会关闭这个容器
也可以使用CTRL+p + CTRL+q 退出,这样不会关闭容器

当利用docker run来创建容器时,Docker 在后台运行的标准操作包括:
1.检查本地是否存在指定的镜像,不存在就从公有仓库下载
2.利用镜像创建并启动一个容器
3.分配个文件系统,并在只读的镜像层外面挂载一 层可读写层
4.从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
5.从地址池配置一个ip地址给容器
6.执行用户指定的应用程序
7.执行完毕后容器被终止

查看容器

docker ps  -a

启动容器

docker start

终止容器

docker stop
或
docker kill

重启容器

docker restart

守护态运行太多的时候,需要让容器在后台运行,可以使用-d参数

docker run -d centos7:latest  /bin/bash - "while true;do echo hello world;sleep 1;done"

查看容器信息

docker inspect

用docker inspect查看容器的ip

docker inspect -f '{{.NetworkSettings.IPAddress}}'

可以使用关键字段查看不同的内容

进入容器

docker attach b581c24e34cd

docker attach允许我们进入后台进程 --sig-proxy=false不使用容器转发信号,允许我们使用ctrl -C来退出,执行docker ps查看在后台运行但是使用attach命令有时候并不方便。当多个窗口同时attach到同一个容器的时候,所有窗口都会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。

docker exec  -it   b581c24e34cd /bin/bash

exec代表直接在容器中运行命令

使用nsenter进入容器

安装nsenter工具

wget https://www.kernel.org/pub/linux/utils/utils-linux/v2.24/util-linux-2.24.tar.gz
tar util-linux-2.24.tar.gz
cd util-linux-2.24
./configure --without-ncurses  && make  nsenter
cpnsenter  /usr/local/bin

为了连接到容器,还需要容器的第一个进程PID

PID=$(docker inspect -f '{{.State.Pid}}' b581c24e34cd)

然后连接容器

nsenter --target $PID --mount --uts --ipc --net --pid

容器导入和导出

导出容器

docker export b581c24e34cd  > centos7.tar

导入容器

cat centos7.tar | docker import - centos7

删除容器

	docker rm b581c24e34cd

当容器在运行当中,可以加-f参数强制删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值