最近需要做点东西,所以准备用Docker开启一个MySQL服务器,不过这么简单的事情,居然花了我两天时间。总结了一下,还是对Docker和MySQL不太熟悉,很多命令和参数都不太会用。网络上文章的质量也不是很好,随便找的文章有的连参数都写错了。所以最终就有了这篇文章,希望能让大家快速入门Docker,享受容器化带来的好处。
容器,镜像运行以后生成容器,就是镜像运行以后的实体,也可以理解为java中的对象。
Docker 支持将软件编译成一个镜像;然后砸镜像中各种软件做好配置,将镜像发布出去,其实使用者可以直接使用这个镜像;
2.启动MySQL,需要指定MYSQL_ROOT_PASSWORD,MYSQL_ALLOW_EMPTY_PASSWORD,MYSQL_RANDOM_ROOT_PASSWORD中的一个参数,并映射端口
-p 12345:3306:将主机的12345端口映射到docker容器的3306端口。
镜像是无法修改的,当运行一个镜像后,会产生一个容器,修改只在容器层上生效,当commit容器后会生成一个新的镜像,作为以后备用,以此类推,以后不断叠加,产生出新的镜像。就像虚拟机中的快照一样。
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
随着云计算及云原生的发展,Docker基本上成了事实上的部署方式,Docker其实并不是什么虚拟化技术,它只是提供了一组工具,可以方便的生成和管理镜像,启动虚拟化的容器等。所以,这些的虚拟化也不再叫虚拟机,而叫容器。就是说,在一个Linux操作系统上,可以跑很多不同的容器,不同的容器之间的资源(如CPU、进程、内存、网络、硬盘空间等)都是隔离的,不同容器里的内容可以使用不同的内容,不同版本的应用序、或依赖库等,彼此独立运行,很方便,但它们实际上是共用内核,因而只适用于Linux。也就是说,宿主机和服务器必须都是Linux。
Navicat 也可以连接,直接新建一个新的链接即可,由于我的是阿里云上跑的docker,所以主机地址填IP就行了
旧版本的 Docker 名称为docker或docker-engine。在尝试安装新版本之前卸载任何此类旧版本以及相关的依赖项
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;
这个不多说,直接到官网下载对应的版本安装即可,在配置docker时最好切换阿里云镜像,具体步骤不细说,可参考之前的文章 .net core开发环境搭建中有提到如何配置docker。
当我们在工作中,一款产品从开发设计到上线运行,其中需要开发人员和运维工程师,开发人员负责代码编写,开发产品,运维工程师需要测试环境,产品部署。这之间就会有分歧。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。
一、自定义镜像镜像和容器的区别二、实践练手1.创建基于ubuntu的自定义镜像,并安装nginx2.配置Redis容器3.配置MySQL4.配置CentOS镜像
3.5 给MySQL挂载本地目录容器不仅仅可以挂载数据卷,也可以直接挂载到宿主机目录上。关联关系如下:
例如一个项目中,部署时需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。给部署带来了极大的困难。
在安装docker之前,建议你设置系统的国内镜像源先哦,很快~嗯,快。 阿里云镜像源:https://developer.aliyun.com/mirror/
镜像(image) 一个特殊的文件系统(使用 Union FS 技术),镜像不包含任何动态数据,其内容在构建之后也不会被改变。
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
个人推荐使用第二种方式,第一种安装方式安装的是 1.13.1 的版本,第二种安装的是最新版,我今天安装完之后是 20.10.8 版本。
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器,容器启动后非常快速。
选取本地查找镜像,有就运行,没有就远程dockerHUB中拉取,最后找到了就运行,找不到就报错
以前一直使用 Vagrant 作为自己的开发环境,并且在上家公司也推行大家采用 Vagrant 作为开发环境,保障公司使用的是同一套开发环境。随着docker的流行,越来越多的人在docker上运行自己的项目,利用docker也非常方便模拟各种线上集群,相比虚拟机效率会更高,不管是搭建还是运行。
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。什么是沙箱:Sandboxie(又叫沙箱、沙盘)即是一个虚拟系统程序,允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。 在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。
提示:对于容器的操作可使用 CONTAINER ID 或 NAMES。推荐:250 期面试题汇总
注意:此时使用"docker ps -a"会发现容器已经退出。这是docker的机制:要使Docker容器后台运行,就必须有一个前台进程。解决方案:将你要运行的程序以前台进程的形式运行。
“ 关键字: “docker 精选 操作 命令" 01 ———— 【总体介绍】 1、简介 Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像; 运行中的这个镜像称为容器,容器启动是非常快速的。2、核心概念 docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上); docker客户端(Client):连接docker主机进行操作; d
Podman是一个开源项目,在Github上已有12k+Star,可在大多数Linux平台上使用。Podman是一个无守护进程的容器引擎,用于在Linux系统上开发、管理和运行OCI(Open Container Initiative)容器和容器镜像。Podman提供了一个与Docker兼容的命令行工具,可以简单地为docker命令取别名为podman即可使用,所以说如果你会Docker的话可以轻松上手Podman。
注:本文所有内容均在CentOS Linux release 7.2.1511 (Core) 上测试完成
安装mysql镜像 到官网查看mysql镜像相关信息,使用docker指令pull安装
1、Docker安装 1.1 卸载旧版本(否者会安装出错) sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 1.2 安装一些
docker安装 ubuntu 1. 安装docker apt install docker.io apt install docker-compose 2. docker 基本命令 docker images 查看docker镜像 docker rmi 删除镜像 docker ps 查看在运行的dokcer容器(-a 查看所有镜像) docker rm [容器名字或ID] 删除容器 docker部署单个应用 1. 下载java基础镜像到本地 docker pull java:8 2. 创建镜像的准备工作
yum install -y docker 备注:-y 表示不询问 使用默认配置进行安装,等待提示 完毕!
这里的mysql就是repository,5.7就是tag,合一起就是镜像名称,代表5.7版本的MySQL镜像。
环境部署是所有团队都必须面对的问题,随着系统越来越大,依赖的服务也越来越多,比如我们目前的一个项目就会用到: - Web服务器:Nginx - Web程序:PHP + Node - 数据库:MySQL - 搜索引擎:ElasticSearch - 队列服务:Gearman - 缓存服务:Redis + Memcache - 前端构建工具:npm + bower + gulp - PHP CLI工具:Composer + PHPUnit 因此团队的开发环境部署随之暴露出若干问题: 1. 依赖服务很多,本
虚拟化技术是一种计算机资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来。虚拟化技术打破了计算机实体结构间的,不可切割的障碍。使用户可以比原本的组态更好的方式,来应用这些资源。
常用 docker-mysql (ubuntu 进入 docker 中操作 mysql) 命令
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
现如今,Docker已经成为了很多公司部署应用、服务的首选方案。依靠容器技术,我们能在不同的体系结构之上轻松部署几乎任何种类的应用。作为测试一方,我们应与时俱进,将Docker容器技术应用到测试工作中。为了让小伙伴们可以快速上手Docker容器技术,本文主要从3个场景介绍Docker在测试中的应用:
从网上下载ubuntu15.10 的镜像,创建一个容器 ,使用容器打印 “hello docker" 运行完毕就会释放
在这里存在一个问题:开发环境和上线环境不一致;可能会导致,开发人员在自己的电脑上可以正常运行代码,运维人员将服务程序上线到服务器后,由于环境不一致可能会导致运行失败,服务不可用。
说到 Docker ,你会常遇到两个内容:image 和 container (即镜像和容器) 关于镜像和容器,你可以这样来理解:镜像是构建 Docker 的基石,用户基于镜像来运行自己的容器。或者说,镜像是 Docker 生命周期中的构建或打包阶段,而容器则是启动或是执行阶段。好吧,说的再明白点儿,就是有了镜像,才有的容器。容器是在镜像的基础上,才有的。
https://docs.docker.com/engine/reference/commandline/docker/
上篇讲了我入门Docker的一个经历,以及Docker是什么和如何搭建Docker,那么这篇来讲讲Docker的镜像和容器一些基本操作。
领取专属 10元无门槛券
手把手带您无忧上云