Docker详解(包含mysql、redis安装)

1. 介绍  

Docker 是一个开源的应用容器引擎,基于Go 语言并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

docker官网:https://www.docker.com/

文档:https://docs.docker.com/

仓库:https://hub.docker.com/

2. 为什么出现 

一款软件产品: 开发–上线 两套环境,应用环境,应用配置。

开发–运维出现问题:在我的电脑上可以允许,发布上线就出现问题。

环境配置是十分的麻烦,每一个都要部署环境(集群Redis、ES、Hadoop…) ,费事费力。

发布一个项目( jar + (Redis MySQL JDK ES) ),项目能不能带上环境安装打包。

开发环境Windows—发布到Linux:

传统:开发jar,运维来发布

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

安卓流程:java — apk —发布(应用商店)一 张三使用apk一安装即可用!

docker流程: java-jar(环境) — 打包项目帯上环境(镜像) — ( Docker仓库:商店)

3. 虚拟机和容器化技术

虚拟机技术缺点: 1、资源占用十分多 2、冗余步骤多 3、启动很慢!

容器化技术不是模拟一个完整的操作系统

虚拟机技术的不同: 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了每个容器间是互相隔离,每个容器内都有一个属于自己的文件系统,互不影响

DevOps(开发、运维)

(1)应用更快速的交付和部署

传统:一堆帮助文档,安装程序。

Docker:打包镜像发布测试一键运行。

(2)更便捷的升级和扩缩容 

使用了 Docker之后,部署应用就和搭积木一样,项目打包为一个镜像,扩展服务器A,服务器B

(3)更简单的系统运维 

在容器化之后,我们的开发,测试环境都是高度一致的

(4)更高效的计算资源利用

Docker是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例,服务器的性能可以被压榨到极致。 

docker 组成

(1)镜像(image)

docker镜像就好比是一个目标,可以通过这个目标来创建容器服务,tomcat镜像==>run==>容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。 

(2)容器(container):

Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。Docker容器包含了所有的某个应用运行所需要的环境。目前就可以把这个容器理解为就是一个简易的服务器系统。

(3)仓库(repository):

仓库就是存放镜像的地方,仓库分为公有仓库和私有仓库。(很类似git)

4. 安装

Linux安装(win安装直接去官网下载安装包 Docker Desktop)

#1.卸载旧版本

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

#2.需要的安装包

yum install -y yum-utils

#3.设置镜像的仓库

yum -config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

#上述方法默认是从国外的,不推荐

#推荐使用国内阿里云的

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#4.更新yum软件包索引

这里有时会出现版本问题,centos8没有该参数,解决办法为:去掉fast参数,

yum makecache fast

#5.安装yum源中默认的Docker

yum -y install docker

#安装社区版Docker(推荐安装,否则启动服务时可能会出现Failed to start docker.service: Unit docker.service not found

yum -y install docker-ce

#6.启动docker

systemctl start docker     #运行Docker守护进程

systemctl stop docker      #停止Docker守护进程

systemctl restart docker   #重启Docker守护进程

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

systemctl status docker    #查看Docker的运行状态

#7. 使用docker version查看是否按照成功

docker version

#1. 卸载依赖

yum remove docker-ce docker-ce-cli containerd.io

#2. 删除资源

rm -rf /var/lib/docker

# /var/lib/docker 是docker的默认工作路径!

要启动MySQLRedisDocker容器,可以按照以下步骤操作: 启动MySQL容器: 1. 拉取MySQL镜像:使用命令`docker pull mysql:5.7`或`docker pull mysql:8`,分别拉取MySQL 5.7和MySQL 8镜像。 2. 运行MySQL容器:使用命令`docker run -d -p 3306:3306 -v E:/DB/MySQL5.7/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD='1qaz@WSX3edc' --name mysql mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci`,该命令会创建一个名为mysql容器,并将宿主机的数据目录映射到容器内的/var/lib/mysql目录,同时设置MySQL的根密码为'1qaz@WSX3edc'。 启动Redis容器: 1. 拉取Redis镜像:可以在Docker Hub上找到Redis的各个版本号,使用命令`docker pull redis:版本号`来拉取相应版本的Redis镜像。 2. 运行Redis容器:使用命令`docker run -d --name redis redis:版本号`,将版本号替换为你想要启动的Redis版本号。该命令会创建一个名为redis容器,使用指定的Redis版本。 这样,你就成功启动了MySQLRedisDocker容器。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Dockerdocker启动MySQLRedis、Linux等应用](https://blog.csdn.net/qq_45277554/article/details/129292385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [docker安装启动redis、nginx、mysql8详解](https://blog.csdn.net/qq_45473439/article/details/117191207)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤蓬&听雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值