【学习笔记】Docker(一)

news2024/9/22 4:38:14

Docker为什么会出现?

问题:环境配置最初开发上线都需要配置,并且非常麻烦。每一个机器都需要部署环境——费时费力、我在我的电脑上可以运行、版本更新,导致服务不可用

传统:开发打包jar包交给运维来做

现在:开发打包部署上线,一套流程做完

手机软件:java --apk --发布(手机商店)--用户下载apk --使用

系统项目:java --jar(环境) --Docker --下载我们发布的镜像 --直接使用

什么是容器?

容器是计算机上的沙盒进程,与主机上的所有其他进程隔离,这种隔离利用内核命名空间和cgroups。

容器特点:

  1. 是图像的可运行实例,可以受用DockerAPI或CLI创建、启动、停止、移动和删除容器

  1. 可以在本地计算机、虚拟机上运行或部署到云上

  1. 是可移植的

  1. 与其他容器隔离,并运行自己的软件、二进制文件和配置

什么是容器映像?

运行容器时使用隔离的文件系统由容器映像提供,由于映像包含容器的文件系统,因此它必须包含运行应用程序所需的一切-所有依赖项、配置、脚本、二进制文件等。该映像还包含容器的其他配置,例如环境变量、要运行的默认命令和其他元数据

Docker基本命令

  1. docker pull [options] NAME [:TAG] => 将远程仓库拉取镜像到本地

[options]:拉取的一些参数

[:TAG]:可选,如果不选默认最新版本,选填指定版本

NAME:镜像的名称

  1. docker images [options] [REPOSITORY[:TAG]] => 查看本地镜像

[options]:拉取的一些参数

  1. docker run [options] IMAGE[:TAG] [COMMAND] [ARG..] =>把镜像运行起来成为容器

[IMAGE]:镜像的名字

[COMMAND]:运行起来的时候要执行什么命令

[ARG]:表示这条命令运行需要的参数

Docker拉取MySQL镜像并运行

  1. 拉取MySQL镜像docker pull mysql:8.0.26

  1. docker run -p 3306:3306 --name mysql --privileged=true

-v /mydata/mysql/log:/var/log/mysql

-v /mydata/mysql/data:/var/lib/mysql

-v /mydata/mysql/conf:/etc/mysql/conf.d

-e MYSQL_ROOT_PASSWORD=root

-d mysql:8.0.26

-p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口

-v /root/mysql/logs:/logs:将主机目录(/root/mysql)下的 logs 目录挂载到容器中的

/logs 日志目录

-v /root/mysql/data:/var/lib/mysql :将宿主机目录(/root/mysql)下的data目录挂载到容

器的 /var/lib/mysql 数据目录

-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码

使用拉取的镜像启动成容器,一个镜像可以启动多个容器,每一次启动容器会自动保存,下次启动容器可以使用docker ps -a查看之前启动过的容器,使用命令docker start [容器id]进行启动

3.查看正在运行的容器:docker ps (-a可以查看已关闭的容器)

4.进入容器:docker exec -it mysql /bin/bash

运行问题如下:

问题一:Error response from daemon: Container xxx is restarting, wait until the container is running

当执行进入mysql容器命令时,出现容器正在重启需要等待容器运行完成,但是会发现一直在报错,一直处于重启中

使用docker log 容器id查看该容器运行的日志

发现挂载权限失败,容器并没有运行起来,因为虚拟机系统是centos7版本,而centos7的安全Selinux禁止了一些安全权限,导致挂载信息时权限不足。

解决方案为:在将镜像变成容器时,应该加入-privileged=true加上特定权限

docker run -p 3306:3306 --name mysql --privileged=true

-v /mydata/mysql/log:/var/log/mysql

-v /mydata/mysql/data:/var/lib/mysql

-v /mydata/mysql/conf:/etc/mysql/conf.d

-e MYSQL_ROOT_PASSWORD=root

-d mysql:8.0.26

(3条消息) chown: changing ownership of ‘/var/lib/mysql/‘: Permission denied_mischen520的博客-CSDN博客

问题二:外部Windows连接不上Docker中的MySQL

  1. 首先确认容器是否启动docker ps

  1. 进入容器docker exec -it mysql /bin/bash

  1. 进入mysql:mysql -uroot -p

  1. 非本机ip访问mysql则需要修改密码:

use mysql;

alter user 'root'@'%' identified with mysql_native_password by '123456';

flush privileges;

select host,user,plugin,authentication_string from mysql.user;

再次远程连接,问题解决

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试经常被问悲观锁和乐观锁?什么是cas?来我花3分钟时间告诉你

锁大家都知道吧,多线程访问资源会存在竞争,那么就需要加锁进而让多个线程一个一个访问。 比如有一个房间,一次只能进一个人,现在有十个人都想进去怎么办? 对,加锁。拿一把钥匙,谁抢到钥匙谁就…

5.4 BGP地址聚合

5.3.1配置BGP地址聚合 1. 实验目的 熟悉BGP地址聚合的应用场景掌握BGP地址聚合的配置方法2. 实验拓扑 实验拓扑如图5-4所示: 图5-4:配置BGP地址聚合 3. 实验步骤 (1)配置IP地址 R1的配置 <Huawe…

skywalking window版使用

文章目录 目录 文章目录 前言 一、skywalking 二、使用步骤 2.1 使用mysql持久化监控数据 2.2 接入到idea的单个微服务和多个微服务 2.3 自定义skywalking的链路追踪 总结 前言 skywalking是一个国产开源框架&#xff0c;是分布式系统的应用程序性能监视工具&#xff0c;专为…

python基于django电影院购票系统(含选座功能

可定制框架:ssm/Springboot/vue/python/PHP/小程序/安卓均可开发 目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2.项目介绍影城管理系统的主要使用者分为管理员和用户&#xff0c;实现功能包括管理员&…

UVM实战--加法器

前言 这里以UVM实战&#xff08;张强&#xff09;第二章为基础修改原有的DUT&#xff0c;将DUT修改为加法器&#xff0c;从而修改代码以使得更加深入的了解各个组件的类型和使用。 一. 组件的基本框架 和第二章的平台的主要区别点 &#xff08;1&#xff09;有两个transactio…

全15万字丨PyTorch 深度学习实践、基础知识体系全集;忘记时,请时常回顾。

✨ ✨我们抬头便看到星光&#xff0c;星星却穿越了万年. ✨ ✨ &#x1f3af;作者主页&#xff1a;追光者♂ &#x1f338;个人简介&#xff1a;在读计算机专业硕士研究生、CSDN-人工智能领域新星创作者&#x1f3c6;、2022年度博客之星人工智能领域TOP4&#x1f31f;、阿里云…

国产哪种蓝牙耳机最好?口碑最好的国产蓝牙耳机推荐

随着近几年蓝牙耳机的飞速发展&#xff0c;国产蓝牙耳机也逐渐突破技术壁垒&#xff0c;被更多用户熟知、认可。但&#xff0c;国产蓝牙耳机品牌的多样化&#xff0c;也为人们的选择增添了不少困难。那么&#xff0c;国产哪种蓝牙耳机最好&#xff1f;下面&#xff0c;我来给大…

详解可变形注意力模块(Deformable Attention Module)

Deformable Attention&#xff08;可变形注意力&#xff09;首先在2020年10月初商汤研究院的《Deformable DETR: Deformable Transformers for End-to-End Object Detection》论文中提出&#xff0c;在2022CVPR中《Vision Transformer with Deformable Attention》提出应用了De…

JavaEE简单示例——再插入的同时获取插入的主键列

简单介绍&#xff1a; 在某些时候&#xff0c;我们在插入完成一条语句之后&#xff0c;我们会想要返回之前插入的这条语句的主键列的数据&#xff0c;进行下一步的展示或者修改&#xff0c;我们就可以使用MyBatis的主键回写功能&#xff0c;帮助我们获取插入成功的一条数据的主…

Microsoft Dynamics 365:导入License到服务层,通过Business Central Administration Shell

本文主要是Microsoft Dynamics 365的License导入的图解干货&#xff0c;不多赘述&#xff0c;直接上图&#xff1a;第一步&#xff1a;准备好的License文件放在你喜欢的目录下第二步&#xff1a;到开始程序里找到并打开 Business Central Administration Shell3.第三步&#xf…

klog bug:仅输出到日志文件,不打印到命令行/stderr

一、 问题描述 开发k8s插件&#xff0c;使用klog作为日志工具&#xff0c;开发完成发现在设置将日志打印到文件后&#xff0c;Error级别的日志信息仍然会输出到命令行&#xff0c;过多日志打印会使后期将服务部署于docker有卡死的风险&#xff08;docker的bug&#xff0c;日志…

美国原装二手keysight E4980A(安捷伦)2MHZ LCR表

Agilent E4980A、Keysight E4980A、LCR 表&#xff0c;20 Hz - 2 MHz E4980A 是 Agilent 的 2 MHz LCR 表。LCR表是一种电子测试设备&#xff0c;用于测量电子元件的电感&#xff08;L&#xff09;、电容&#xff08;C&#xff09;和电阻&#xff08;R&#xff09;。LCR 表可…

W800|iot|HLK-W800-KIT-PRO|AliOS|阿里云| |官方demo|学习(1):板载AliOS系统快速上手

板载系统简介 HLK-W800-KIT-PRO 是海凌科电子面向开发者&#xff0c;采用了联盛德 w800 方案&#xff0c;带有一个RGB三色灯&#xff0c;集成了 CHT8305C 温湿度传感器的多功能开发板&#xff0c;用户可以在上面学习、研究嵌入式系统和物联网产品的开发&#xff0c;本套设备运行…

js中的隐式类型转换有哪些

目录一、隐式类型转换条件二、 的隐式类型转换三、 的隐式类型转换四、object 的隐式类型转换探讨 object 的隐式转换执行顺序探讨 Symbol.toPrimitive 属性如何将对象转换为原始值在前端js这门动态弱类型语言中&#xff0c;不仅存在着显示类型转换&#xff0c;还存在许多隐式类…

原画培训机构排名前十名,最新10大原画培训机构

原画培训机构排名出来啦&#xff0c;最新10大原画培训机构出炉&#xff0c;快来看看游戏原画培训机构有哪些吧&#xff0c;对于不知道如何选择靠谱的原画培训班&#xff0c;可以借鉴和参考一下&#xff01; 1、轻微课 国内人气很高的板绘学习平台&#xff0c;主打课程有日系插…

化解射频和微波设计挑战的六个技巧

即使是最自信的设计人员&#xff0c;对于射频电路也往往望而却步&#xff0c;因为它会带来巨大的设计挑战&#xff0c;并且需要专业的设计和分析工具。这里将为您介绍六条技巧&#xff0c;来帮助您简化任何射频PCB 设计任务和减轻工作压力&#xff01; 1、保持完好、精确的射频…

从全局变量寻找到Tomcat回显方式

前言 对于回显的获取主要是在ApplicationFilterChain类的lastServicedRequest / lastServicedResponse两个属性&#xff0c;是使用的ThreadLocal进行修饰的&#xff0c;并且&#xff0c;在执行请求的过程中&#xff0c;通过反射修改属性值&#xff0c;能够记录下当前线程的req…

nginx 代理01(持续更新)

1、如果请求是post&#xff0c;而且请求原是188.188.3.171&#xff0c;处理方式403 if ($request_method ~* "POST") # $request_method 等同于request的method&#xff0c;通常是“GET”或“POST” # 如果访问request的method值为POST则返回“o” {set…

MinIO文件系统

3.2 MinIO 3.2.1 介绍 本项目采用MinIO构建分布式文件系统&#xff0c;MinIO 是一个非常轻量的服务,可以很简单的和其他应用的结合使用&#xff0c;它兼容亚马逊 S3 云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视频、日志文件、备份…

基于 SmartX 分布式存储的 iSCSI 与两种 NVMe-oF 技术与性能对比

作者&#xff1a;深耕行业的 SmartX 金融团队本文重点SmartX 分布式块存储 ZBS 提供 2 种存算分离架构下的数据接入协议&#xff0c;分别是 iSCSI 和 NVMe-oF。其中&#xff0c;iSCSI 虽然具有很多优势&#xff0c;但不适合支持高性能的工作负载&#xff0c;这也是 SmartX 选择…