docker容器管理-实操命令

2023-09-14 19:01:16

本单元主要是在docker镜像管理下进一步的培训学习文档。

docker镜像管理-实操_忍冬行者的博客-CSDN博客

四.容器管理
1.运行一个容器
docker container run --name c1 -it nginx:latest /bin/sh
2.后台运行一个容器
docker container run --name c1 -it -d nginx:latest 
3.查看容器
docker container ls或则docker ps 
4.停止容器
docker container stop c1或者docker stop c1   也可以restart ,start 
5. 删除容器
docker container stop c1
docker container rm c1
docker container rm $(docker container ls -aq) -f  #删除全部容器,不建议生产环境使用

6.查询容器详情
docker container inspect c1
7.容器的重启策略
容器支持的重启策略包括 always、unless-stopped 和 on-failed
docker container run --name c1 -it --restart always nginx /bin/sh
8.容器保留服务端口 -P或则-p
设置转发
sysctl -w net.ipv4.ip_forward=1 
Docker 可以通过 docker run 命令的 -P 选项将容器内的端口动态绑定到宿主机上,也可以通过 -p 选项手动指定映射关系。
docker run -it --name c1 --rm -p 8000:80 nginx
五.数据卷与持久化
创建数据卷
docker volume create myvol
查看数据卷
docker volume ls
docker volume inspect myvol
删除存储卷
docker volume rm
使用存储卷
docker container run -dit --name c1 \
    --mount source=myapp,target=/var/www/html \
    nignx:v1
也可以使用
docker container run -dit --name c1 -v myapp:/var/www/html nginx:v1

绑定数据卷
--mount 选项支持三种类型的数据卷,包括:
volume:普通数据卷,映射到主机 /var/lib/docker/volumes 路径下
bind:绑定数据卷,映射到主机指定路径下
tmpfs:临时数据卷,只存在于内存中

比如
docker run -d --name web1 \
    --mount type=bind,source=/var/www/html,target=/var/www/html \
    whylitin/myapp:v1

docker run -d --name web1 \
    -v /var/www/html/:/var/www/html \
    nginx:v1
共享容器卷
docker run -d --name webdata \
    --mount source=webdata,target=/var/www/html \
    nginx:v1
    
docker run -d --volumes-from webdata --name web1 nginx:v1

六.容器网络
Docker 默认支持以下四种网络模式:
bridge 模式
host 模式
Container 模式
none 模式
指定网络模式
docker run -it --name c4 --rm --network bridge nginx:latest
docker container run -d --name c2 --network host nginx:latest

七.docker资源限制
基于cgroups, 是 Linux 内核提供的一种机制,包括 CPU、内存、IO 等
CPU 限制
--cpus:限制容器允许的 cpu 核数。
--cpuset-cpus:限制容器允许在指定 CPU 的核心。
--cpu-shares:按权重分配,每个 docker 容器默认的权重为 1024
docker run -itd --name cpu512 --cpu-shares 512 nginx
docker run -itd --name cpu2 --cpuset-cpus 2 nginx 
docker run -itd --name cpu3 --cpus 1 nginx

内存限制
-m:限制容器能使用的最大内存大小,最小为 4M。
--memory-reservation:设置一个内存使用 soft limit 的大小。
--oom-kill-disable:发生 OOM 时,是否杀死容器。设置为 false 表示启用 oom,设置为 true 表示不启动 oom
docker run -it -m 200M --name mem200 nginx
八.容器监控
1.docker top

2.docker stats

九.容器编排
Docker Compose 能够在 Docker 节点上,以单引擎模式进行多容器应用的部署和管理
Docker Swarm 一个企业级的 Docker 安全集群,以及一个微服务应用编排引擎

更多推荐

golang:context

context作用goroutine的退出机制多个goroutine都是平行的被调度的,多个goroutine如何协调工作涉及通信、同步、通知和退出通信:goroutine之间的通信同步chan通道同步:不带缓冲的chan提供了一个天然的同步等待机制。通过WaitGroup也可以为多个goroutine提供同步等待机制

数据库索引

一.索引的引用索引类似于一本书的目录,可以根据页码更快的查找到内容。索引可以加快访问数据库的速度二.索引的分类1.按表的列属性分类(1).普通索引:最基本的索引,没有任何限制;(2).唯一索引:索引列的值必须唯一,允许有空值。如果是组合索引,则列值的组合必须唯一;(3).主键索引:是一种特殊的唯一索引,一个表只能有一个

Golang代码漏洞扫描工具介绍——govulncheck

GolangGolang作为一款近年来最火热的服务端语言之一,深受广大程序员的喜爱,笔者最近也在用,特别是高并发的场景下,golang易用性的优势十分明显,但笔者这次想要介绍的并不是golang本身,而且golang代码的漏洞扫描工具,毕竟作为服务端的程序,安全性一直是一个不同忽视的地方Go安全团队在2022.09.0

基于Qt实现的可视化大屏监控

基于Qt实现的可视化大屏监控先上图基于Qt实现的可视化大屏监控总有人质疑QWidget实现不了炫酷的界面,其实QWidget已经很强大了,虽然很多效果没有现成的框架,所以比不上html5或者安卓这种,但是也能实现很多不错的效果了,而且在嵌入式设备上一样能达到这种效果,这是其他很多框架所不能实现的。本次大屏监控主要使用以

安达发APS|生产计划部门如何提升产量?

在当下制造业中,生产计划的制定和执行对于提高产量、降低成本、保证交货期等方面具有重要意义。随着科技的发展,越来越多的企业开始使用APS生产排程软件来优化生产计划,提高生产效率。本文将从以下几个方面介绍如何利用APS生产排程软件提升产量。1.需求预测与订单管理首先,企业需要对市场需求进行准确预测,以便合理安排生产计划。A

三、数学建模之非线性规划

1、定义2、例题matlan代码求解一、定义1.非线性规划(NonlinearProgramming,简称NLP)是一种数学优化问题的方法,它处理的目标函数或约束条件包含非线性项。与线性规划不同,非线性规划涉及到在非线性约束下寻找最优解。在许多领域都有广泛的应用,包括工程、经济学、物流、金融等。它可以用来解决各种实际问

Vue-01:MVVM数据双向绑定与Vue的生命周期

一、Vue介绍1.1什么是Vue?Vue是一个渐进式的JavaScript框架,用于构建用户界面。"渐进式"意味着Vue的设计理念是逐步增强应用的功能和复杂性,而不是一次性地引入所有功能。这使得开发者可以根据项目需求选择性地使用Vue的不同特性和功能。1.2Vue的优点Vue具有许多实际应用的优点,以下是其中一些:易学

全面了解SpringBoot拦截器

在本文中,我们将详细介绍SpringBoot中的拦截器,包括拦截器的概念、作用、实现方式、执行顺序、生命周期以及高级应用。最后,我们还将探讨拦截器的性能优化策略和常见问题。1.拦截器的概念和作用1.1什么是拦截器拦截器(Interceptor)是一种特殊的组件,它可以在请求处理的过程中对请求和响应进行拦截和处理。拦截器

前端代码规范

HTML编码规约(WC-HTML)-HTML编码规约前言本规约涉及HTML语言的编码风格、最佳实践。参与和反馈对规约有任何意见和建议,欢迎留言讨论:)1【推荐】使用2个空格缩进。统一使用2个空格缩进,不要使用4个空格或tab缩进:<!DOCTYPEhtml><html><head><title>Pagetitle</t

Rust中的结构体

专栏简介:本专栏作为Rust语言的入门级的文章,目的是为了分享关于Rust语言的编程技巧和知识。对于Rust语言,虽然历史没有C++、和python历史悠远,但是它的优点可以说是非常的多,既继承了C++运行速度,还拥有了Java的内存管理,就我个人来说,还有一个优点就是集成化的编译工具cargo,语句风格和C++极其相

rom修改----安卓系列机型如何内置app 如何选择so文件内置

系统内置app的需求在与各工作室对接中操作单中,很多需要内置客户特定的有些app到系统里,这样方便客户刷入固件后直接调用。例如内置apk去开机引导去usb调试默认开启usb安全设置等等。那么很多app内置有不同的反应。有的可以直接内置。有的需要加so才能解决我们先来看一张图片1---直接内置方法将需要的app直接放置系

热文推荐