docker容器的操作与管理

本文详细介绍了Docker容器的各种操作方法,包括创建、启动、资源限制、查看日志及删除容器等。此外还介绍了如何使用docker run命令进行容器的后台运行、给容器命名以及如何通过docker exec和nsenter命令进入容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建容器

docker create -it centos6 bash //这样可以创建一个容器,但该容器并没有启动
docker start container_id //启动容器后,可以使用 docker ps 查看到,有start 就有stop,和restart
之前我们使用的docker run 相当于先create再start

docker run -it centos bash  

这样进入了一个虚拟终端里面,我们可以运行一些命令,使用命令exit或者ctrl d 退出该bash,当退出后这个容器也会停止。
当我们使用ctrl+p+q的时候可以不关闭容器,回到终端。
docker run -d 可以让容器在后台运行
直接用容器运行一个循环命令:
比如:

docker run -d centos bash -c "while :; do echo "123"; sleep 2; done"

–name 给容器自定义名字
docker run --name web -itd centos bash
以后进入容器就可以直接指定名字进入
举例:

[root@py1 ~]# docker run -itd --name centos_chao centos6 bash
d39ea7a513fbade82d154cbd0b42294b547f41a8a195b7ee297355534c3d27ba
[root@py1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
d39ea7a513fb        centos6             "bash"              8 seconds ago       Up 7 seconds                            centos_chao   

限制容器资源:

内存限额:
允许容器最多使用500M内存和100M的Swap,并禁用 OOM Killer:

docker run -d --name nginx03 --memory="500m" --memory-swap=“600m" --oom-kill-disable nginx

CPU限额:
允许容器最多使用一个半的CPU:

docker run -d --name nginx04 --cpus="1.5" nginx

允许容器最多使用50%的CPU:

docker run -d --name nginx05 --cpus=".5" nginx

查看容器内服务具体信息:

docker inspect centos

例如查看容器ip 等等等

进入容器

[root@py1 ~]# docker exec -it centos_chao bash
[root@d39ea7a513fb /]#             
 docker run --rm -it centos bash -c "sleep 30" //--rm 可以让容器退出后直接删除,在这里命令执行完容器就会退出

docker attach 可以进入一个后台运行的容器,比如
docker attach container_id //但是attach命令一般不用,比如我们想要退出终端,就得exit了,这样容器也就退出了,还有一种方法
docker exec -it container_id bash //可以临时打开一个虚拟终端,并且exit后,容器依然运行着
我们还可以利用nsenter 进入容器

vim docker_in.sh
#!/bin/bash

pid=`docker inspect --format "{{.State.Pid}}" $1`

nsenter -t $pid -m -u -i -n -p

sh docker_in.sh 接上容器名即可

查看容器服务运行日志

docker logs 可以获取到容器的运行历史信息,用法如下
docker logs container_id
举例:

[root@py1 ~]# docker run -itd centos bash -c "echo hello word"
4d4bfdcbc749919214324375000137667a5c9cdae0f67d57ad9a45389c30198d
[root@py1 ~]# docker logs 4d4b
hello word

删除容器

docker rm container_id //container_id是ps的时候查看到的,这样就可以把container删除,如果是运行的容器,可以加-f

容器的导入导出

导出:
docker export container_id > file.tar // 导出容器,可以迁移到其他机器上,需要导入
导入:
cat file.tar |docker import - chao_test //这样会生成chao_test的镜像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值