Docker使用02-容器操作

本文介绍如何使用Docker命令进行容器的创建、启动、停止、重启等操作,并详细解释了常用命令选项的功能。

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

转载自:http://www.itmuch.com/docker/05-docker-command-containers/

新建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
参数:

-d 容器运行于前台还是后台,默认为false,表示后台运行
-i 以交互模式运行容器,通常与 -t 同时使用
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
--name 为容器指定一个名称
-h, --hostname="" 指定容器的主机名
-e 指定环境变量,容器中可以使用该环境变量(-e key=”value”)
--env-file 指定环境变量文件,文件格式为每行一个环境变量
-a 登录容器(必须是以docker run -d启动的容器)
-v 挂载存储卷到容器的某个目录,-v 主机目录:容器目录
-p 指定容器暴露的端口, -p 主机端口:容器端口
--link 指定容器间的关联
-P 随机端口映射
--restart="no" 指定容器停止后的重启策略: no容器退出时不重启, on-failure容器故障退出(返回值非零)时重启, always容器退出时总是重启

常用启动容器指令:
docker run --name mydocker -it centos /bin/bash
注意进入容器后,不要使用CTRL+C退出,这样会导致整个容器退出。用CTRL+P+Q退出当前容器。

进入容器

  • 使用docker attach 命令进入容器。很多场景下,使用docker attach 命令并不方便。当多个窗口同时attach到同一个容器时,所有窗口都会同步显示。同理,如果某个窗口发生阻塞,其他窗口也无法执行操作。
    docker exec -it 容器ID/容器name /bin/bash

列出容器

使用docker ps命令即可列出运行中的容器。如需列出所有容器(包括已停止的容器),可使用-a参数。
参数:

--all, -a 列出所有容器,包括未运行的容器,默认false,只展示运行的容器
--filter, -f 根据条件过滤显示内容
--format 通过Go语言模板文件展示镜像
--last, -n 显示最近创建n个容器(包含所有状态)
--latest, -l 显示最近创建的容器(包含所有状态),默认false
--no-trunc 不截断输出,默认false
--quiet, -q 静默模式,只展示容器的编号,默认false
--size, -s 显示总文件大小,默认false

停止容器

使用docker stop命令,即可停止容器。可指定容器ID或则容器名称。
也使用docker kill命令强制停止一个或更多运行着的容器。

启动已停止的容器

使用docker run命令,即可新建并启动一个容器。对于已停止的容器,可使用docker start命令来启动。docker start -i <container>:启动一个container并进入交互模式(相当于先start,再attach)

重启容器

可使用docker restart 命令来重启容器。该命令实际上是先执行了docker stop 命令,然后执行了docker start命令。

持久化容器为镜像

通过容器生成新的镜像,运行中的镜像称为容器。
可以修改容器(比如删除一个文件),但这些修改不会影响到镜像。
不过使用docker commit <container-id> <image-name>[:tag]命令可以把一个正在运行的容器变成一个新的镜像。

删除容器

使用docker rm命令即可删除指定容器。该命令只能删除已停止的容器,如需删除正在运行的容器,可使用-f参数。
删除所有的容器:docker rm -f $(docker ps -a -q)docker ps -a -q | xargs docker rm

导出容器

docker export将容器导出成一个压缩包文件。

docker export red_panda > latest.tar
docker export --output="latest.tar" red_panda

导入容器

使用docker import命令即可从归档文件导入内容并创建镜像。
docker import nginx2.tar nginx


补充:以下是docker的工作流程图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值