当前位置: 首页 > news >正文

一文带你掌握docker 常见命令架构原理bug

文章目录

    • Docker原理
    • Docker架构
    • 容器操作
    • 数据卷操作
    • 镜像操作
    • 批量删除容器或镜像
    • docker-compose
    • 蓝绿发布&金丝雀发布
    • 开机自启动
    • docker 镜像启动成功但是无法访问

本文带你进入掌握容器化时代法宝-docker

Docker原理

内核与硬件交互,提供操作硬件的指令

系统应用封装内核指令为函数,便于程序员调用

用户程序基于系统函数库实现功能

Ubuntu和CentOS都是基于Linux内核,只是系统应用不同,提供的函数库有差异

Docker将用户程序和系统应用(ubuntu或centos)一起打包,基于操作系统的内核就可以运行,屏蔽了系统应用函数库依赖等问题。

在这里插入图片描述

Docker架构

在这里插入图片描述

容器操作

docker exec -it CONTAINER bash # 以终端交互的模式

docker run -p 端口映射 -e 环境变量 -d 后台运行

docker start&restart

docker ps [-a] 查看容器(所有)

docker logs -f 查看日志

docker rm 删除容器

docker inspect container_id | grep # 查看容器详细信息

在这里插入图片描述

数据卷操作

docker volumn create&inspect&ls&prune&rm

在这里插入图片描述

镜像操作

docker save保存镜像为压缩包

docker load加载压缩包为镜像

docker pull和docker push为镜像推送和镜像拉取

docker images 查看镜像

docker rmi删除镜像

通过使用docker build和Dockerfile构建镜像

在这里插入图片描述

批量删除容器或镜像

sudo docker ps -a | grep Exited | awk '{print $1}' | xargs sudo docker rm 删除异常停止的docker容器

sudo docker images | grep '<none>' | awk '{print $3}'| xargs sudo docker rmi -f 删除名称或标签为none的镜像

docker-compose

docker-compose 

-f:指定使用的compose模板文件,默认为当前目录下的docker-compose.yaml文件,可以多次指定。

-p:指定项目的名称,默认将使用所在目录名称作为项目名。

–verbose:输出更多调试信息。

-v:打印版本信息并退出



build 构建(重新构建)项目中的服务容器

config 检测compose文件的错误

up 启动服务

down 停止容器

images 列出项目中所包含的镜像

logs 查看服务容器的日志

kill 发送 SIGKILL 信号来强制停止服务容器

port 查看某个容器端口所映射的公共端口

ps 列出项目中目前的所有容器

restart 重启项目中的服务

rm 删除所有停止状态的服务容器

run 在指定服务上运行一个命令

scale 设置指定服务运行的容器个数

stop 停止处于运行状态的容器

start 启动被stop的服务容器

top 查看各个服务容器内运行的进程

pause 暂停一个服务容器

unpause 恢复处于暂停状态中的服务

蓝绿发布&金丝雀发布

蓝绿发布:蓝绿一个好一个坏,切换

金丝雀发布:一个一个替换

Harbor位置

/opt/harbor

启动命令

docker 启动命令
sudo systemctl start docker
 
docker 重启命令
systemctl restart docker

docker 查看状态命令
systemctl status docker

开机自启动

docker update name --restart
	no -  容器退出时,不重启容器;

    on-failure - 只有在非0状态退出时才从新启动容器;

    always - 无论退出状态是如何,都重启容器;

docker 镜像启动成功但是无法访问

解决办法:

vi /etc/sysctl.conf或者vi /usr/lib/sysctl.d/00-system.conf

添加如下代码:
net.ipv4.ip_forward=1

重启network服务

systemctl restart network

查看是否修改成功

sysctl net.ipv4.ip_forward
如果返回为“net.ipv4.ip_forward = 1”则表示成功了

参考:
某马

相关文章:

  • [项目管理-6]:软硬件项目管理 - 项目沟通管理 (沟通渠道)
  • 区块链基础机制
  • [项目管理-7]:软硬件项目管理 - 项目采购管理 (物)
  • 【面试题】
  • 快速读论文----异质图神经网络(写文章帮助总结异质图神经网络的文章)
  • 数学建模常用方法讲解(一)
  • K8s简介
  • pat练习
  • 计算建模之EM算法
  • Django-(2)
  • opencv remap inverse 这里的x,y是dst下的,所以我没法在知道src的x,y下得到该点在dst的位置.
  • 温故知新(十三)——CAN
  • 如何跳出forEach循环
  • 大咖论道|银行核心系统国产分布式数据库选型思考
  • 简单5分钟,将lowcode低代码融入到你的中后台管理系统
  • hexo+github搭建个人博客
  • python3.6+scrapy+mysql 爬虫实战
  • 08.Android之View事件问题
  • es6--symbol
  • JavaScript类型识别
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Logstash 参考指南(目录)
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Wamp集成环境 添加PHP的新版本
  • Web设计流程优化:网页效果图设计新思路
  • 闭包,sync使用细节
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 聊一聊前端的监控
  • 前端路由实现-history
  • 数据科学 第 3 章 11 字符串处理
  • 写代码的正确姿势
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • linux 淘宝开源监控工具tsar
  • # Panda3d 碰撞检测系统介绍
  • #laravel 通过手动安装依赖PHPExcel#
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (四)linux文件内容查看
  • (转)c++ std::pair 与 std::make
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .htaccess配置重写url引擎
  • .NET 设计模式初探
  • .net 中viewstate的原理和使用
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • @JoinTable会自动删除关联表的数据
  • @TableLogic注解说明,以及对增删改查的影响
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [<死锁专题>]
  • [AAuto]给百宝箱增加娱乐功能
  • [android] 请求码和结果码的作用
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [codeforces]Levko and Permutation