docker部署文章
最近搞好搭好了博客的第一版,心里变想着想写一篇技术博客,用作自己该网站的第一篇技术文章。
什么是docker?
docker的定义相信网上都有很多种解释,其中说的最多的就是在简述docker是一种集装箱的思想。
1 | |
即把所有的有关软件,依赖库都打包一起,形成一个所谓的“集装箱”,在linux这艘“大船”上搭载,而对于我目前来说,我认为docker有点类似一个应用商店的概念,它能够将你所想要的”中间件”从docker hub中拉取下来,并部署在主机上。更有趣的是,它能够省略很多麻烦的事情,例如安装redis,rabbitmq等中间件,你需要自己编译redis或者安装erlang才能开始使用这些中间件,而现在通过一行命令即可部署.
1 | |
docker原生支持linux,即它是based on linux的。而windows 和 macos 想要安装docker,则需要用到虚拟机机制,由于作者本人手中没有macos的机器,下面以windows的操作命令作为示范。
windows安装docker
首先,得确认你的系统不能是home(家庭版),否则你将不能开启hyper-v,进而不能开启wsl2。而docker在windows下的运行需要依赖wsl2,所以请确保你能安装之后,再去到docker官网安装docker—->docker官网
等待安装好之后,一般docker是安装在C盘上,所以我们需要将虚拟盘迁出c盘,放在你想安装的盘上。
打开powershell,输入wsl –list,得到计算机内安装的wsl系统,输入wsl shutdown docker-desktop-data 和wsl shutdown docker-desktop 然后输入wsl export docker-desktop-data <target_path/docker-desktop-data.tar.gz>和wsl export docker-desktop <target_path/docker-desktop.tar.gz>
导出后,进行删除wsl中的镜像,最后wsl import <target/path/docker-desktop.tar.gz>和 <target/path/docker-desktop-data.tar.gz>
当然有一种更取巧的方法,那就是软链接,具体软链接的命令,可以上网搜寻。
docker安装redis
我们以redis为例子,因为要想在windows上直接使用redis,是一件比较困难的事情,作者在这里选择使用docker来安装,因为是最省事。ok,话不多说,开始以下教程。
首先,使用docker pull redis命令来获取得到redis的镜像包,在这里说明一下,docker的容器与镜像的关系就好比,对象与类的关系。当你使用docker run redis的时候,可以近似地理解docker为你通过redis类创造出了redis对象,而你对redis对象的任何修改都不会涉及到redis类(这句话不完全对,以后的博客会说明),docker使用命令-v 可以挂载宿主机的硬盘到容器内部,-p可以暴露端口号给容器,具体命令如下,docker run -d -p 6379:6379 --name redis-msater --restart=always -v F:\redis\redis-data:/data -v F:\redis\redis.conf:/etc/redis/redis.conf redis redis-server /etc/redis/redis.conf
即暴露宿主机的F:\redis\redis-data,F:\redis\redis.conf 到容器内部,然后用命令redis以我的配置文件运行,那样就如同redis安装我们的机器上,但同时因为docker只挂载了2个目录,没有其他残余的文件产生,因此卸载也很方便,–restart=always 表明docker容器无论怎样,都会重新启动,实现开机自启动。