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

Docker安装部署(详细版)

文章目录

  • Docker 安装部署
    • 简介
    • 安装
    • 调优
      • 目录迁移
      • 日志调优
      • 磁盘优化
    • 业务命令
    • docker 构建容器时推荐追加的脚本

Docker 安装部署

简介

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低

安装

# 安装镜像
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# 设置稳定仓库
sudo yum-config-manager 
    --add-repo 
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2
sudo yum install -y yum-utils 
>   device-mapper-persistent-data 
>   lvm2

# 如果存在旧docker,卸载旧版本
yum remove docker  docker-client  docker-client-latest  docker-common  docker-latest  docker-latest-logrotate  docker-logrotate  docker-selinux  docker-engine-selinux  docker-engine
# 存储库中列出可用版本
yum list docker-ce --showduplicates | sort -r
# 安装选择的版本,我这里选的是19.03.13  
yum install docker-ce-19.03.13 docker-ce-cli-19.03.13 containerd.io
# 也可以安装最新版
yum -y install docker-ce

# 启动docker
systemctl start docker
# 设置开机自启
systemctl enable docker

调优

最好在服务部署的时候就干调优的事情,对服务影响最小

目录迁移

-- 关闭docker服务
systemctl stop docker
-- 创建迁移后的目录
mkdir -p  /home/jamelli/docker/data/lib
-- 复制原有docker数据到新目录
rsync -r -avz /var/lib/docker /home/jamelli/docker/data/lib
mkdir -p /etc/systemd/system/docker.service.d/
-- 创建docker 映射文件
vi /etc/systemd/system/docker.service.d/devicemapper.conf
保存内容>>
	[Service]
	ExecStart=
	ExecStart=/usr/bin/dockerd  --graph=/home/jamelli/docker/data/lib/docker
        
-- 重新加载 docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
    
-- 确认docker 路径[Docker Root Dir 属性列]
docker info
-- 确认镜像是否还在
docker images
-- 删除历史docker文件
rm -rf /var/lib/docker/

日志调优

max-file:日志文件上限个数
max-size:日志文件上限大小

 -- log 限制
    vim /etc/docker/daemon.json
    保存内容>>
        {
          "log-driver":"json-file",
          "log-opts": {"max-size":"500m", "max-file":"3"}
        }

磁盘优化

#类似于Linux上的df命令,用于查看Docker的磁盘使用情况:
docker system df

#可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。 
docker system prune

#清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…
#所以使用之前一定要想清楚.。我没用过,因为会清理 没有开启的  Docker 镜像。
docker system prune -a

#docker system df -v 命令可以进一步查看空间占用细节,以确定是哪个镜像、容器或本地卷占用过高空间
docker system df -v

业务命令

docker system df
	docker自身的内存占用
docker system prune
	docker system prune命令可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像
docker image
	查看docker镜像内容
docker info
	查看docker信息
docker stats
	查看容器运行内存cpu占用情况
docker update --restart=always 容器名称
	设置docker容器开机启动
less /var/lib/docker/containers/容器ID/容器ID-json.log
	docker 容器日志路径日志内容查询
docker logs --tail=10 -f 容器名称/容器id
	docker 容器日志内容实时查看

docker 构建容器时推荐追加的脚本

	-it -d   # 支持后台运行
	-e TZ=Asia/Shanghai  	# 指定时区
	-v /etc/localtime:/etc/localtime:ro  # 公用服务器时间
	--restart=always 	# 自动重启

相关文章:

  • 【react hook】umi获取虚拟dom元素 并点击按钮滚动到对应元素位置
  • list深度拷贝转为JSON字符串,放到Redis
  • java计算机毕业设计社区老人健康服务跟踪系统源码+系统+数据库+lw文档+mybatis+运行部署
  • LeetCode_309_最佳买卖股票时机含冷冻期
  • Vue中使用lottie动画加载json文件
  • 炒股加杠杆方式有哪些
  • 23届秋招前端笔面经合辑(持续更新)
  • Docker实时查看日志命令
  • CSS 实现内阴影的方法
  • 聚N-乙烯基乙酰胺接枝聚苯乙烯微球PNVA-g-PSt/磺化聚苯乙烯/壳聚糖复合微球探究
  • docker官方历史版本下载地址
  • 5.9如何判断括号的合法性
  • org.yaml.snakeyaml.scanner.ScannerException: while scanning a simple key
  • 进程间通信机制原理
  • 分析入门 Python 股票量化交易的原因
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • CSS魔法堂:Absolute Positioning就这个样
  • docker容器内的网络抓包
  • ECMAScript入门(七)--Module语法
  • export和import的用法总结
  • Java,console输出实时的转向GUI textbox
  • Java超时控制的实现
  • js操作时间(持续更新)
  • js继承的实现方法
  • magento2项目上线注意事项
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • npx命令介绍
  • orm2 中文文档 3.1 模型属性
  • PHP 小技巧
  • sublime配置文件
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 从零开始的无人驾驶 1
  • 前端路由实现-history
  • 什么是Javascript函数节流?
  • 【云吞铺子】性能抖动剖析(二)
  • Semaphore
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (3)llvm ir转换过程
  • (70min)字节暑假实习二面(已挂)
  • (java)关于Thread的挂起和恢复
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (多级缓存)缓存同步
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (已解决)什么是vue导航守卫
  • (转)3D模板阴影原理
  • ./configure、make、make install 命令
  • .gitignore
  • .NET 8.0 发布到 IIS
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .NET 解决重复提交问题