18.Docker学习

1.Docker应用场景

Docker借鉴了标准集装箱的概念。标准集装箱将货物运往世界各地,Docker(模板)将软件运往各个环境(测试环境和生产环境拉取镜像(实例)),相当于是一个模子刻出来的

  • Web应用自动化打包和发布
  • 自动化测试和持续集成、发布
  • 在服务型环境中部署和调整数据库或其他的后台应用
  • 使用Docker可以实现开发人员的开发环境、测试人员的测试环境、运维人员的生产环境一致性
    搭建化境、基于容器构建微服务架构

2.Docker与传统VM对比

Docker:在操作系统层面实现虚拟化,直接复用本地操作系统。启动速度快,占用体积小
传统虚拟机:硬件层面实现虚拟化

3.Docker三个基本概念

镜像(静态)

创建Docker容器的模板(静态只读-类),相当于一个root文件系统。
镜像和容器的关系, 就像面向对象程序设计中类和实例一样,镜像是静态的定义,容器是镜像运行时的实体

容器(动态)

容器是一个运行时环境,是镜像的运行状态,是镜像执行的动态表现。是独立运行的一个或一组应用,Docker容器通过Docker镜像创建,容器可以被创建、启动、停止、删除、暂停等

仓库

仓库是用来保存镜像的,可以理解为代码控制中的代码仓库

过程(关系):

镜像存在仓库里
先把镜像从仓库pull拉到Linux系统上,然后创建容器,运行容器

4.Docker操作

准备:一台测试机,一台服务器

(1)静态IP设置

进入ip配置文件设置

vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改静态ip

BOOTPROTO=static
IPADDR=192.168.32.129(自己的ipconfig)
NETMASK=255.255.255.0
GATEWAY=192.168.32.2
DNS1=8.8.8.8

重启网卡服务

systemctl restart network

使用xshell工具连接

(2)docker进程相关操作

docker卸载和安装

# 卸载旧版本
sudo yum remove docker
# 设置docker仓库
sudo yum install -y yum-utils
# 设置稳定的仓库-阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker engine-community
sudo yum install docker-ce docker-ce-cli contained.io
# 启动docker
sudo systemctl start docker
# 查看是否有docker环境
docker -v
# 查看docker命令
docker --help
# 查看docker 服务端与客户端版本详情
docker version
# 启动docker进程
systemctl start docker
#关闭docker
systemctl stop docker
#重启docker
systemctl restart docker
#开机自启
systemctl enable docker
# 查看docker运行状态
systemctl status docker
# 关闭防火墙
systemctl stop firewalld 
#永久关闭防火墙
systemctl stop firewalld disable

镜像操作

需求:使用docker搭建一个tomcat\mysql\redis
操作流程:

  • 获取对应镜像
    docker pull tomcat
    可以使用官方的仓库地址或自己的镜像仓库
  • 使用镜像创建容器
  • 运行容器

实际操作

# 查看本地镜像
docker images
# 搜索镜像-首先本地-默认地址,用STARS星级最高的版本
docker search tomcat
# 找到所有镜像,进行拉取
docker pull tomcat#最新版本
docker pull tomcat:7#指定版本7
# 不想要镜像,需要删除
docker rmi 镜像id
# 有镜像,可以创建容器---名称和id均是唯一的
#根据tomcat镜像,创建一个myTomcat的容器
docker create --name=myTomcat tomcat #仅创建,还不能运行
# 查看已经运行的容器
docker ps 
# 查看所有容器
docker ps -a
# 容器很多,需要筛选指定容器--名称含tomcat的容器
docker ps |grep tomcat
# 运行容器(运行状态为up)--通过名称或CONTAINER ID
docker start myTomcat
#停止容器--通过名称或CONTAINER ID
docker stop myTomcat 
# 删除没有运行的容器(需要先停止容器)
docker rm 容器id或名称
# 删除在运行的容器
docker rm -f 容器id或名字
#删除所有容器
#先停止所有容器
docker stop $(docker ps -a -q)
#删除(慎用)
docker rm $(docker ps -a -q)
#删除所有镜像(慎用)
docker rmi $(docker images -q )
#查看容器详情信息
docker inspect --format '{{ .NetworkSettings .IPAddress}}' <container-ID>
例如:查挂载目录
docker inspect -f '{{.Mounts}}' tomcat01

在这里插入图片描述

下载太慢,可以使用docker下载加速器

docker加速

  • 在指定目录创建文件
    vim /etc/docker/daemon.json
  • 修改文件内容为
    从阿里云控制台复制的,每个用户不一样
{
"registry-mirrors":["https://v2c6fjn8.mirror.aliyuns.com"]
}
  • 重启docker服务
    systemctl restart docker

运行容器的一些操作

需要搭建一个web项目–tomcat
(1)访问端口 需要访问的是容器内部的端口
(2)war项目文件传给容器里的tomcat里的webapps下

# 查看docker run 命令--创建并且启动容器docker run --help1.判断本地是否有这个镜像,如果没有先自动pull2.然后创建容器3.然后运行容器docker run 参数
-i #运行容器
-t #容器启动后,进入命令行
-v #目录映射-挂载 -v 宿主机目录:容器的目录(没有会自动新建目录)
-d #守护进程-后台运行
-p #端口映射 -p 宿主机的端口:容器的端口
#如果容器里有tomcat,本机windows想访问
#docker tomcat 端口号是8080,需要在虚拟机映射一个端口9099
#windows才可以访问 http://虚拟机ip:9099#组合使用-创建一个运行守护的容器
docker run -id --name=tomcat01 -p 7070:8080 -v /usr/local/zm:/usr/local/tomcat/webapps tomcat
#退出
exit
#进入容器 
docker exec -it tomcat01 /bin/bash
#启动时关联其他容器--link   mysql独立容器
docker run -di --name=tomcat02 -p 8080:8080 --link mysql --link redis --link rabbitmq

关于目录映射挂载的解释:
本地pc不能直接访问容器里的目录(或上传文件),但可以在宿主机和容器之间进行目录的映射,这样pc就可以通过访问宿主机的目录,去操作容器里的目录了
在这里插入图片描述

docker logs命令–查看容器日志

docker logs 
-details 显示提供给日志的额外细节
-f 按日志输出
-since 从某个时间开始
-tail 从日志末尾多少行开始显示
-t 显示时间戳
-until 打印每一个时间以前的日志
# 查看指定时间后的日志 只显示最后100行
docker logs -f -t --since="2020-02-09" --tail=100 容器id
# 查看最近30分钟的日志
docker logs --since 30m 容器id
#查看某时间之后的日志
docker logs -t --since="2018-09-02T13:14:20" 容器id
#查看某个时间段的日志
docker logs --since="2024-05-10T23:00:00" --until "2024-05-11T23:00:00" 容器id

5.web管理平台Portainer

不熟悉指令时,可以通过web ui页面可视化管理平台

#查看portainer镜像
docker search portainer
#选择喜欢的风格,下载
docker pull portainer/portainer 
#启动dockerui容器--自启动
docker run -id --name portainerUI -p 9000:9000 -v var/run/docker.sock:/var/run/docker.sock --restart=always portainer/portainer

浏览器访问http://虚拟机ip:9000,设置密码8位以上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/326179.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计springboot+vue高校教师职称评审评定系统605z3

技术栈 前端&#xff1a;vue.jsElementUI 开发工具&#xff1a;IDEA 或者eclipse都支持 编程语言: java 框架&#xff1a; ssm/springboot 数据库: mysql 版本不限 数据库工具&#xff1a;Navicat/SQLyog都可以 详细技术&#xff1a;javaspringbootvueMYSQLMAVEN 本系统采用in…

Google Pixel4手机刷机+Root+逆向环境详细教程

Google Pixel4手机刷机Root逆向环境配置详细教程 刷机工具下载 Windows10、Google Pixel4手机当前安卓10系统、adb工具、要刷的谷歌原生的Android11最新刷机包、安装google usb驱动、美版临时twrp-3.6.0_11-0-flame.img和美版永久twrp-installer-3.6.0_11-0-flame.zip、Magis…

如何使用Shortemall自动扫描URL短链接中的隐藏内容

关于Shortemall Shortemall是一款针对URL地址安全与Web内容安全的强大工具&#xff0c;该工具基于纯Python开发&#xff0c;专为Web安全方向设计&#xff0c;可以帮助广大研究人员以自动化的形式扫描URL短链接中的隐藏内容。 Shortemall的全名为ShortEm All&#xff0c;该工具…

乡村振兴与乡村旅游深度融合:依托乡村自然和文化资源,发展乡村旅游产业,促进农民增收致富,打造特色美丽乡村

目录 一、引言 二、乡村振兴与乡村旅游的内在联系 三、依托乡村自然和文化资源发展乡村旅游产业 &#xff08;一&#xff09;挖掘乡村自然资源优势&#xff0c;打造特色旅游品牌 &#xff08;二&#xff09;挖掘乡村文化资源内涵&#xff0c;丰富旅游活动内容 四、促进农…

IP SSL怎么签发使用

IP证书的签发首先是需要有一个可供绑定的IP地址&#xff0c;作为常用数字证书之一&#xff0c;IP证书也因为其广泛的应用范围而深得用户的青睐和喜欢。 部署IP证书后&#xff0c;可以实现该IP地址的https访问&#xff0c;过程和域名证书相差不多。 IP证书和域名证书的区别 很…

接收区块链的CCF会议--NDSS 2025 截止7.10 附录用率

会议名称&#xff1a;Network and Distributed System Security Symposium (NDSS) CCF等级&#xff1a;CCF A类学术会议 类别&#xff1a;网络与信息安全 录用率&#xff1a;2024年接收率19.5% Submissions are solicited in, but not limited to, the following areas: Ant…

《系统管理学报》期刊投稿经验与流程分享(一轮退修,历时3月)

双非研二&#xff0c;三作&#xff08;导师一作&#xff0c;师哥二作&#xff09;&#xff0c;《系统管理学报》期刊录用 投稿网址&#xff1a;https://xtglxb.sjtu.edu.cn/journalx_jgxb/authorLogOn.action 投稿&收稿&#xff1a;2022年12月26日初审&#xff1a;2023年…

强大的开源项目RAG-GPT:5分钟实现LLM大模型应用到你的网站!

强大的开源项目RAG-GPT&#xff1a;5分钟实现LLM大模型应用到你的网站&#xff01; 引言 随着chatgpt等大型语言模型&#xff08;LLM&#xff09;能力越来越强大&#xff0c;如何将这些模型精准地应用于特定垂直领域&#xff0c;让各行业开发者快速利用LLM赋能也成为热点和痛…

WS2811 单线 256 级灰度三通道恒流 LED 驱动器芯片 IC

产品概述 WS2811 是三通道LED驱动控制专用电路&#xff0c;芯片内部包含了智能数字接口数据锁存信号整形放大驱动电路&#xff0c;还包含有高精度的内部振荡器和15V高压可编程定电流输出驱动器。同时&#xff0c;为了降低电源纹波&#xff0c;3个通道有一定的延时导通功…

4.1 文本相似度(二)

目录 1 文本相似度评估 2 代码 2.1 load_dataset 方法 2.2 AutoTokenizer、AutoModelForSequenceClassification 1 文本相似度评估 对两个文本拼接起来&#xff0c;然后作为一个样本喂给模型&#xff0c;作为一个二分类的任务&#xff1b; 数据处理的方式以及训练的基本流程…

2024最新版JavaScript逆向爬虫教程-------基础篇之无限debugger的原理与绕过

目录 一、无限debugger的原理与绕过1.1 案例介绍1.2 实现原理1.3 绕过debugger方法1.3.1 禁用所有断点1.3.2 禁用局部断点1.3.3 替换文件1.3.4 函数置空与hook 二、补充2.1 改写JavaScript文件2.2 浏览器开发者工具中出现的VM开头的JS文件是什么&#xff1f; 三、实战 一、无限…

一篇文章掌握所有国债期货的基本交易策略介绍

国债期货是一种基本的利率衍生品&#xff0c;根据交易者交易目的不同&#xff0c;可以将期货交易行为分为三类&#xff1a;套期保值、套利交易和投机交易。套期保值是投资者为了避免现有或将来预期的投资组合价值受市场利率变动的影响&#xff0c;而在国债期货市场上采取抵消性…

2023年30米分辨率土地利用遥感监测数据

改革开放以来&#xff0c;中国经济的快速发展对土地利用模式产生了深刻的影响。同时&#xff0c;中国又具有复杂的自然环境背景和广阔的陆地面积&#xff0c;其土地利用变化不仅对国家发展&#xff0c;也对全球环境变化产生了深刻的影响。为了恢复和重建我国土地利用变化的现代…

六、Redis五种常用数据结构-zset

zset是Redis的有序集合数据类型&#xff0c;但是其和set一样是不能重复的。但是相比于set其又是有序的。set的每个数据都有一个double类型的分数&#xff0c;zset正是根据这个分数来进行数据间的排序从小到大。有序集合中的元素是唯一的&#xff0c;但是分数(score)是可以重复的…

LeetCode416:分割等和子集

题目描述 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集&#xff0c;使得两个子集的元素和相等。 解题思想 [1,5,11,5] 和为22&#xff0c;其中一半为 11。如果能寻找到若干数的和为11则成立可以抽象为一个0-1背包问题&#xff1a;容…

浮点数的由来及运算解析

数学是自然科学的皇后&#xff0c;计算机的设计初衷是科学计算。计算机的最基本功能是需要存储整数、实数&#xff0c;及对整数和实数进行算术四则运算。 但是在计算机从业者的眼中&#xff0c;我们知道的数学相关的基本数据类型通常是整型、浮点型、布尔型。整型又分为int8&a…

给centos机器打个样格式化挂载磁盘(新机器)

文章目录 一、先安装lvm2二、观察磁盘三、磁盘分区四、建PV五、建VG六、创建LV七、在LV上创建文件系统八、挂载到/home&#xff08;1&#xff09;临时挂载&#xff08;2&#xff09;永久挂载 九、最后reboot一下 一、先安装lvm2 yum install lvm2二、观察磁盘 三、磁盘分区 四…

Springboot整合 Spring Cloud Alibaba Seata

1.事务简介 事务是访问并可能更新数据库中各种数据项的一个程序执行单元。在关系型数据库中&#xff0c;一个事务由一组sql语句组成。事务具有 原子性&#xff0c;一致性&#xff0c;隔离性&#xff0c;持久性四个属性(ACID)。 原子性&#xff1a;事务是一个不可分割的工作单位…

ThreadLocal 源码详解

概述 ThreadLocal是一个java提供的本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射&#xff0c;各个线程之间的变量互不干扰&#xff0c;在高并发场景下&#xff0c;可以实现无状态的调用&#xff0c;特别适用于各个线程依赖不通的变量值完成操作…

美国政府首次发布《国家网络安全态势报告》

报告提到&#xff0c;不断演变的关键基础设施风险、勒索软件、供应链利用、商业间谍软件和AI是主要趋势&#xff1b;国家网络总监办公室同时公布了第二版《国家网络安全战略实施计划》&#xff0c;新增了31项倡议。 前情回顾美国深化网络安全战略 美国发布国家网络安全战略实施…