惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
F
Fortinet All Blogs
D
Docker
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
罗磊的独立博客
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
U
Unit 42
N
Netflix TechBlog - Medium
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
Stack Overflow Blog
Stack Overflow Blog
爱范儿
爱范儿
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Proofpoint News Feed
G
Google Developers Blog
H
Help Net Security

灰叶的笔记

Linux逻辑卷2-扩容/常用命令汇总 | 灰叶的笔记 Dockerfile 容器镜像构建 | 灰叶的笔记 Linux 查看内存和实际物理内存大小不一致 | 灰叶的笔记 GCP创建泛域名证书(域名托管在CloudFlare) | 灰叶的笔记 Docker基础指令-镜像相关 | 灰叶的笔记 GCP和AWS使用PCCW专线互联 | 灰叶的笔记 使用 OpenTelemetry 采集日志推送至 GCP Cloud Logging | 灰叶的笔记 vim编辑器常用操作 | 灰叶的笔记 Linux主机是否被入侵的11个排查步骤 | 灰叶的笔记 Ubuntu 安装 Docker-CE | 灰叶的笔记 Fail2Ban-Linux防SSH暴力破解工具 | 灰叶的笔记 公用云Linux快照创建磁盘挂载问题 | 灰叶的笔记 ubuntu 安装图形化桌面 | 灰叶的笔记 iptables基础命令与filter表相关命令 | 灰叶的笔记 Linux逻辑卷 | 灰叶的笔记 UCloud CentOS6.X修改hostname | 灰叶的笔记 软件源安装Dokcer | 灰叶的笔记 Ubuntu系统启用root用户ssh远程登录 | 灰叶的笔记 Windows Server关闭IE增强 | 灰叶的笔记 windows云服务器开启媒体声音 | 灰叶的笔记 MySQL5.7多实例部署 | 灰叶的笔记 nc网络工具 | 灰叶的笔记 WinServer2008云服务器系统盘可压缩空间不足 | 灰叶的笔记 Rocky Linux8.5 UCloud官方镜像进入单用户模式 | 灰叶的笔记 UCloud官方Linux 镜像进入单用户模式汇总 | 灰叶的笔记 Debian10 UCloud官方镜像进入单用户模式 | 灰叶的笔记 CentOS6 UCloud官方镜像进入单用户模式 | 灰叶的笔记 CentOS7/8 UCloud官方镜像进入单用户模式 | 灰叶的笔记 Ubuntu UCloud官方镜像进入单用户模式 | 灰叶的笔记 几个检查本机的网络连接的工具(linux) | 灰叶的笔记
Docker基础指令-容器相关 | 灰叶的笔记
huiye · 2025-06-19 · via 灰叶的笔记

容器相关命令

新建+启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

使用镜像ubuntu:latest以交互模式启动一个容器,在容器内执行/bin/bash命令

docker run -it ubuntu:latest /bin/bash

option参数:

--name="容器新的名字":为容器指定一个名称
-d:(detache)后台运行容器并返回容器ID,也即启动守护式容器(docker容器后台运行,必须有一个前台进程)
注意:容器运行的命令如果不是那些一直挂起的命令(比如top,tail),是会自动退出的

-i:以交互模式运行容器,通常与-t同时使用
-t:为容器重新分配一个伪输入终端,通常与-i同时使用,也即启动交互式容器(前台有伪终端,等待交互)

-P:随机端口映射
-p:指定端口映射

--rm:创建一个临时容器,退出容器后自动删除容器
--restart=always:重启宿主或者重启docker的时候会自动重启容器 (不能和--rm同时使用)
--restart=策略
    no 默认值 不管如何容器都不重启
    on-failure 只有容器非正常退出才重启,重启docker服务或者系统都不会重启容器
    unless-stopped 只要手动停止容器了,重启机器和docker服务,容器都不会自动启动(比如说我stop了容器,此时重启机器或者docker,这个容器就不会自动启动)
    always 重启宿主或者重启docker的时候会自动重启容器

--network:指定网络。

若想要运行多个命令,option结尾
sh -c "命令1;命令2"

-e:指定变量
docker run -it -e aa=1 -e bb=2 ubuntu:latest /bin/bash

-u:指定用户(用户需要提前存在)

-m:限制内存大小

--cpuset-cpus=0:指定docker进程在哪个cpu上运行
--cpuset-cpus 2-4,7      指定在2、3、4、7号CPU上运行
在容器里执行4次
cat /dev/zero > /dev/null &
查看cat进程的分布
ps mo pid,comm,psr $(pgrep cat) 

-p参数说明

参数说明
-p hostPort:containerPort端口映射 -p 8080:80
-p ip:hostPort:containerPort配置监听地址 -p 10.0.0.100:8080:80
-p containerPort指定容器的端口,宿主机随机生成一个端口
-p hostPort:containerPort/UDP指定映射UDP端口

列出所有正在运行的容器

option参数:

-a:列出当前所有正在运行的容器+历史上运行过的
-l:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号

退出容器

1、exit:run进去容器,exit退出,容器停止
2、ctrl+p+q:run进去容器,ctrl+p+q退出但容器不停止

启动已停止运行的容器

重启容器

停止容器

强制停止容器

删除已停止的容器

docker rm [option] 容器ID/容器名

option参数:

一次性删除所有容器实例(高危)

docker rm -f $(docker ps -a -q)
docker rm -f `docker ps -qa`
docker ps -a -q | xargs docker rm

查看容器日志

docker logs 容器ID/容器名
-f 持续查看日志
#查看最新的5条日志
docker logs -f 容器ID/容器名 --tail 5

查看容器内运行的进程

查看对象属性

docker 对象类型(默认为容器类型) inspect 对象名称
docker container inspect 容器ID/容器名
docker image inspect 镜像名/镜像ID
docker network inspect 网络名/网络ID

进入正在运行的容器并以命令行交互

方式一:exec(推荐, 是在容器中打开新的终端,并且可以启动新的进程,用exit退出容器终端不会导致容器的停止)
docker exec -it 容器ID/容器名 bashShell

方式二:attach(直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止)
docker attach 容器ID/容器名

从容器内拷贝文件到主机上

docker cp 容器ID/容器名:容器内路径 主机路径

从主机拷贝文件到容器内

docker cp 主机路径 容器ID/容器名:容器内路径

export导出容器

docker export 容器ID/容器名 > 文件名.tar

import导入镜像

从tar包中的内容创建一个新的文件系统再导入为镜像

 cat 文件名.tar |docker import - 镜像用户/镜像名:镜像版本号

commit提交容器副本使之成为一个新的镜像

dockedr commit -m="描述信息" -a="作者" 容器ID/容器名 目标镜像名:tag

使用 exec 直接在容器内执行命令

在容器内执行命令前文提到使用exec来进入容器,也可以使用这个命令直接在容器内执行命令

# 例:在容器内创建文件
docker exec 容器ID/容器名 touch /root/1.txt

update 更新容器信息

# 例:将容器重启策略修改为 always
docker update --restart=always 容器ID

查看所有容器的资源使用情况

查看某个容器的进程情况