首页 > 其他分享 >Docker

Docker

时间:2023-11-09 22:34:35浏览次数:41  
标签:容器 -- mysql 镜像 Docker docker

Docker发展史

image.png (1)物理机时代:多个应用程序运行在一台机器上 image.png (2)虚拟机时代:一台物理机器安装多个虚拟机(VM),一个虚拟机运行多个程序 (3)容器化时代:一台物理机安装多个容器实例(container),一个容器运行多个程序

安装

先准备一个mysql容器用于复制配置文件,配置好之后把其删除再创建一个新的 下面这些操作都是为了创建一个容器,它的配置文件和数据都处在宿主机而非容器中,修改配置文件就无需进入容器中

1. docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
2. docker exec -it mysql bash
3. mkdir -p /root/docker/mysql/conf && mkdir -p /root/docker/mysql/data
4. docker cp mysql:/etc/my.cnf /root/docker/mysql/conf

docker run --name mysql \
-p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 \
--mount type=bind,src=/root/docker/mysql/conf/my.cnf,dst=/etc/my.cnf \
--mount type=bind,src=/root/docker/mysql/data,dst=/var/lib/mysql \
--restart=on-failure:3 \
-d mysql

参考

Docker基本概念

Docker 包括三个基本概念:

镜像(Image):Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 仓库(Repository):仓库(Repository)类似Git的远程仓库,集中存放镜像文件。 三者关系可以用下图表示: image.png

Docker命令

image.png

Docker-Compose

Compose 中有两个重要的概念:

  • 服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
  • 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义 一个项目可以由多个服务(容器)关联而成,Compose 面向项目进行管理

安装错误原因

  1. 第一次执行命令curl -L https://download.fastgit.org/docker/compose/releases/download/2.15.0/docker-compose-uname -s-uname -m> /usr/local/bin/docker-compose --http1.1,url中的版本号应为v2.15.0,导致执行报错命令not found
  2. 修改版本号之,继续执行上述命令,但是并没有注意到文件大小为43.5MB,但received的只有127kB,于是总是报错segmentation fault
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current Dload  Upload   Total   Spent    Left  Speed
   0 43.5M    0  127k    0     0  70030      0  0:10:51  0:00:01  0:10:50 69992
curl: (18) transfer closed with 45527856 bytes remaining to read
> 总结:第一次的问题是url,第2次是curl工具本身的问题(可能通过wget可以正常下载,待测试),最终是在本地下载后通过远程文件传输工具传输到服务器中得以解决

# 参考
- [1] [docker安装报错](https://www.cnblogs.com/GravityTerritory/p/16167842.html),未解决

标签:容器,--,mysql,镜像,Docker,docker
From: https://blog.51cto.com/u_14882565/8285898

相关文章

  • Docker安装并使用Mysql(可用详细)
    Docker安装并使用Mysql目录  一、Docker安装Mysql    1、启动Docker    2、查询mysql    3、安装mysql      1.默认拉取最新版本mysql      2.拉取指定版本mysql_5.7    4、查看镜像    5、本地创建挂载目录-......
  • 【腾讯云|云原生】自定制轻量化表单Docker快速部署
    ......
  • docker pull timeout问题
    背景最近在用docker搭个开发环境,参照的是之前记录的那个笔记:Docker相关发现在拉取镜像的时候有点问题,即使用如下命令dockerpullubuntu:18.04报错: “net/http:TLShandshaketimeout”这个主要是因为docker默认镜像拉取地址为国外仓库,会存在网络上的各种问题,你懂的解决只需要......
  • 使用docker调试和部署pwn题
    目录使用docker调试和部署pwn题0x0前言0x1调试环境0x2出题模板0x3使用技巧使用docker调试和部署pwn题使用docker快速部署不同架构、不同版本的调试环境。给出docker环境下pwn题部署模板。0x0前言关于docker的基础概念不做过多的介绍。可以到Docker:Accelerated,Conta......
  • docker run 容器启动后,想要新增端口映射和设置自动重启的方式
    关于新增自动重启(新版本docker支持,老版本不支持,请看第二种方式)一。要在已经运行的Docker容器中增加自动重启的选项,你可以使用dockerupdate命令来更新容器的配置。具体步骤如下:首先,使用dockerps命令列出所有正在运行的容器,并找到你想要设置自动重启的容器的CONTAINER......
  • docke compose /docker 进阶
    dockercompose启动和关闭stopstartup-ddowndocker-composedown和docker-composestop都是用于停止DockerCompose中定义的服务的命令,但它们之间有一些重要的区别。docker-composestop:docker-composestop命令会停止DockerCompose文件中定义的所有服务,......
  • docker 已经运行的容器重命名
    你可以使用以下步骤来重命名已经运行的Docker容器:首先,通过dockerps命令查看正在运行的容器的列表,找到你想要重命名的容器的CONTAINERID或者名称。停止该容器:dockerstop<CONTAINERID或者名称>重命名容器:dockerrename<旧容器名称><新容器名称>例如:doc......
  • docker mqtt搭建
    DockerMQTT搭建教程简介本文将教你如何使用Docker搭建MQTT服务器。首先,我们会介绍整个流程,并用表格展示具体步骤。然后,我们会详细说明每一步需要做什么,并提供相应的代码。流程概览以下是搭建DockerMQTT服务器的步骤概览:步骤 描述1.安装Docker 在主机上安装Docker引擎2.拉取M......
  • windows下安装docker
    安装条件适合安装在windows上的docker有2个版本:DockerDesktop 和 DockerToolbox。DockerDesktop:适合安装Windows版本:Win10系统Pro、Enterprise或者Education以及苹果OS系统,特点是安装、设置、使用相比DockerToolbox会更简单。DockerToolbox:Windows所有的版本都可以......
  • linux/docker 版 Sql Server新建的数据库插入中文乱码问题解决方案
    SqlServer插入遇到乱码原因:在英文系统中,SqlServer默认排序规则为英文字典顺序解决方案一:容器版SqlServer,在创建容器时,可以加上环境变量-eMSSQL_COLLATION=Chinese_PRC_CI_AS-eTZ=Asia/Shanghai 把排序规则设为中文字典顺序并忽略大小写区分重音,时区设置为上海,不然......