docker container [COMMAND]

命令:
**exec 在容器中执行命令** export 将容器的文件系统导出为tar归档文件(和docker save的区别在于,save会记录有所有修改,体制较大,export只是当时overlay层) kill 杀死一个或多个正在运行的容器 ** logs 查看容器内应用的运行日志**
-f 实时追踪日志 ** ls 列出所有容器(可以用docker ps代替,相同的命令)** rename 重命名容器 【容器启动、删除】
rm 移除一个或多个已经停止运行的容器
prune 删除所有已经停止运行的容器 start 启动一个或多个已停止的容器
restart 重新启动一个或多个容器
stop 停止一个或多个正在运行的容器
pause 暂停一个或多个容器中的所有进程 【容器资源状态获取】
stats 显示容器资源使用情况
--no-stream 非实时流,用于执行后马上返回,然后可以写脚本获取容器的资源情况。
top 显示指定容器的进程的使用率
port 列出容器的端口映射或特定映射 docker exec -it mynginx bash
docker port mynginx
docker stop mynginx
docker rm mynginx

启动容器docker run

Usage:  docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]

**# 后台运行容器并打印容器的id**
-d, --detach Run container in background and print container ID **# 非交换式,通常和-t一起使用**
-i, --interactive Keep STDIN open even if not attached
**# 分配一个伪TTY**
-t, --tty Allocate a pseudo-TTY **# 设定容器的主机名(注意是主机名hostname,不是容器的名字)**
-h, --hostname **# 指定容器的IP地址**
--ip string IPv4 address (e.g., 172.30.100.104)
**# 将容器连接到指定的网络模式(默认有brigde、host、container、none,也可以自己创建网络模式)**
--network network Connect a container to a network **# 设置容器的名称,如果不设置则随机一个名称,建议设置,方便管理**
--name string **# 发布容器的端口到宿主机中,也就是端口映射。****格式:宿主机端口:容器内需要暴露的应用端口,比如你nginx内部是80端口,但是你想将访问宿主机的888映射到容器内部的80,那就是888:80**
-p, --publish list Publish a container's port(s) to the host **# 发布容器中exposed指定的暴露端口到宿主机中,但是宿主机的映射端口为随机的。**
-P, --publish-all Publish all exposed ports to random ports **# 设置容器退出时的重启策略,默认为no,可选项有:[always|on-failure]**
# always在你docker重启后自动重启容器。
--restart string Restart policy to apply when a container exits
(default "no") **# 挂载宿主机的某个目录到容器中,****<宿主机路径>:<容器内路径>**** **** **
-v, --volume list Bind mount a volume **# 设置环境变量给容器使用。容器中的应用可以根据变量实现不同场景的应用,比如java的spring boot指定配置文件。**
-e, --env list **##### 资源限制类常用选项:#####** **# 限制CPU核数**
--cpus decimal Number of CPUs **# 限制内存,如1G,500M**
-m, --memory bytes Memory limit

示例:以后台运行的形式,运行一个nginx,容器名设置为mynginx,使用-p手动指定对外暴露的端口和容器内应用端口的关系。

docker run -d nginx --name mynginx -p 8888:80 # 80是容器内的应用端口,8888是外部访问的端口

# 访问应用
curl 宿主机ip:8888

列出容器

docker ps 等价于此命令。

docker container ls [选项]
-a, --all 显示所有容器,默认情况下执行ls只会显示正在运行的容器
-n, --last int Show n last created containers (includes all states) (default -1) 显示最近N个新创建的容器(包括所有状态)
-l, --latest 显示最新创建的那个容器的状态(包括所有状态)
--no-trunc Don't truncate output
-q, --quiet 显示所有容器的id,通常可以用来获取容器,然后批量操作
-s, --size Display total file sizes

进入容器中执行命令

docker container exec [OPTIONS] CONTAINER COMMAND [ARG...]

Options:
-d, --detach Detached mode: run command in the background
--detach-keys string Override the key sequence for detaching a container
-e, --env list Set environment variables
--env-file list Read in a file of environment variables
-i, --interactive Keep STDIN open even if not attached
--privileged Give extended privileges to the command
-t, --tty Allocate a pseudo-TTY
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
-w, --workdir string Working directory inside the container docker exec -it nginx bash

查看容器内应用日志

docker logs [-f] 容器ID|容器名

例:
[root@k8s-master ~]# docker logs mynginx
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2022/11/23 03:50:39 [notice] 1#1: using the "epoll" event method
2022/11/23 03:50:39 [notice] 1#1: nginx/1.21.5
2022/11/23 03:50:39 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6)
2022/11/23 03:50:39 [notice] 1#1: OS: Linux 3.10.0-1127.el7.x86_64
2022/11/23 03:50:39 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2022/11/23 03:50:39 [notice] 1#1: start worker processes
2022/11/23 03:50:39 [notice] 1#1: start worker process 31
2022/11/23 03:50:39 [notice] 1#1: start worker process 32
2022/11/23 03:50:39 [notice] 1#1: start worker process 33
2022/11/23 03:50:39 [notice] 1#1: start worker process 34

docker top docker ps -l Show the latest created container (includes all states) docker ps -a -a是显示所有的容器,默认只显示正在运行的
docker ps -q Only display container IDs。只显示容器的ID,一般可以来做写脚本,for循环读取。 docker container
ls 和docker ps一样的效果
inspect 查看指定容器的底层信息
exec
commit
cp
logs 查看指定容器的日志
port 查看指定容器暴露的端口
top 查看容器的运行状态
stats --no-stream
rm -f
purge 清除那些不运行的容器
stop/start/restart 停止/启动/重启 指定的容器 # 进入容器
docker exec -it 容器 命令

Docker容器运行、使用、管理的更多相关文章

  1. Docker容器集群管理之Swarm

    Docker容器集群管理主流方案 Swarm Docker公司自研发的集群管理系统. Kubernetes Google开源的一个容器集群管理系统,用于自动化部署.扩展和管理容器应用.也称为K8S ...

  2. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之集群部署环境规划(一)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.环境规划 软件 版本 ...

  3. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之自签TLS证书及Etcd集群部署(二)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一 ...

  4. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 ...

  5. 基于阿里云容器服务用docker容器运行ASP.NET 5示例程序

    小试阿里云容器服务 之后,接下来有一个挡不住的小试冲动--用docker容器运行程序.首先想到的程序是 ASP.NET 5示例程序,于是参考msdn博客中的这篇博文 Running ASP.NET 5 ...

  6. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.感谢 在此感谢.net ...

  7. Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)

    0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...

  8. 利用docker容器运行.net core webapi

    利用docker容器运行.net core webapi :first-child { margin-top: 0 !important; } > :last-child { margin-bo ...

  9. 理解Docker容器的进程管理

    摘要: Docker在进程管理上有一些特殊之处,如果不注意这些细节中的魔鬼就会带来一些隐患.另外Docker鼓励"一个容器一个进程(one process per container)&qu ...

  10. 一个docker容器中运行多个服务还是弄一堆docker容器运行?

    不建议直接在单个 Docker 容器中运行多个程序. 以 2017年 10 月18 日 Docker 官方支持 Kubernetes 为分水岭计算,Kubernetes 赢得容器编排之战的最终胜利已经 ...

随机推荐

  1. [Servlet/Tomcat] HttpServletRequest#getHeader(headerNameWithIgnoreCase)(获取header时不区分大小写)

    1 故事背景 最近项目上有个业务需求,翻译成技术需求,即:将request.headers中的几个header入参转换成request.body(pageRequest)中的内置参数. 为便于灵活配置 ...

  2. 文心一言 VS 讯飞星火 VS chatgpt (105)-- 算法导论10.1 3题

    三.用go语言,仿照图 10-2,画图表示依次执行操作 ENQUEUE(Q,4).ENQUEUE(Q,1).ENQUEUE(Q,3).DEQUEUE(Q).ENQUEUE(Q,8)和 DEQUEUE( ...

  3. QQ机器人整理合集

    QQ机器人有什么用呢? QQ机器人可以实现包括自动回复.定时推送.发送图片QQ机器人,营销圈用的比较多,可以开发各种自动功能等等.用其制作的QQ机器人程序 机器人框架+插件 小栗子机器人 官网:htt ...

  4. 使用Docker buildx 为 .NET 构建多平台镜像

    .NET 团队有一篇博客 改进多平台容器支持, 详细介绍了.NET 7 以上的平台可以轻松的使用Docker buildx 工具构建多平台的镜像. buildx 是 Docker 官方提供的一个构建工 ...

  5. 深入理解 Netty FastThreadLocal

    作者:vivo 互联网服务器团队- Jiang Zhu 本文以线上诡异问题为切入点,通过对比JDK ThreadLocal和Netty FastThreadLocal实现逻辑以及优缺点,并深入解读源码 ...

  6. 如何使用Python将PDF转为图片

    将PDF转为图片能方便我们将文档内容上传至社交媒体平台进行分享.此外,转换为图片后,还可以对图像进行进一步的裁剪.调整大小或添加标记等操作. 用Python将PDF文件转JPG/ PNG图片可能是大家 ...

  7. 16.1 Socket 端口扫描技术

    端口扫描是一种网络安全测试技术,该技术可用于确定对端主机中开放的服务,从而在渗透中实现信息搜集,其主要原理是通过发送一系列的网络请求来探测特定主机上开放的TCP/IP端口.具体来说,端口扫描程序将从指 ...

  8. 关于长链剖分的数组实现 | CF1009F Dominant Indices

    请容许我不理解一下为什么这题题解几乎全都是指针实现/kk 其实长链剖分是可以直接用数组来写的. 考虑朴素 DP.设 \(f_{u,i}\) 表示以点 \(u\) 为根的子树中与点 \(u\) 距离为 ...

  9. Python 轻松生成PDF文档

    PDF(Portable Document Format)是一种常用的文档格式,具有跨平台兼容性.保真性.安全性和交互性等特点.我们日常生活工作中的合同.报告.论文等通常都采用PDF格式,以确保文档在 ...

  10. Leetcode.11盛最多水的容器(双指针)

    给定一个长度为 n 的整数数组 height .有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) . 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳 ...