💻 Docker 快速安装软件

## 直接安装的缺点 - 安装麻烦,可能有各种依赖,运行报错。例如:WordPress,ElasticSearch,Redis,ELK - 可能对 Windows 并不友好,运行有各种兼容问题,软件只支持 Linux 上跑 - 不方便安装多版本软件,不能共存。 - 电脑安装了一堆软件,拖慢电脑速度。 - 不同系统和硬件,安装方式不一样 >s 本文档课件配套 [视频教程](https://www.bilibili.com/video/BV11L411g7U1?p=2) ## Docker 安装的优点 - 一个命令就可以安装好,快速方便 - 有大量的镜像,可直接使用 - 没有系统兼容问题,Linux 专享软件也照样跑 - 支持软件多版本共存 - 用完就丢,不拖慢电脑速度 - 不同系统和硬件,只要安装好 Docker 其他都一样了,一个命令搞定所有 ## 演示 Docker 安装 Redis Redis 官网:[https://redis.io/](https://redis.io/) >w 官网下载安装教程只有源码安装方式,没有 Windows 版本。想要自己安装 windows 版本需要去找别人编译好的安装包。 Docker 官方镜像仓库查找 Redis :[https://hub.docker.com/](https://hub.docker.com/) ![Docker镜像官网](https://cos.easydoc.net/46901064/files/kv8zs4qr.png) 一个命令跑起来:`docker run -d -p 6379:6379 --name redis redis:latest` 命令参考:[https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/) ![Docker运行Redis后](https://cos.easydoc.net/46901064/files/kv8zy4xn.png) ## 安装 Wordpress docker-compose.yml ```yaml version: '3.1' services: wordpress: image: wordpress restart: always ports: - 8080:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb volumes: - wordpress:/var/www/html db: image: mysql:5.7 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db:/var/lib/mysql volumes: wordpress: db: ``` ## 安装 ELK `docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk` [内存不够解决方法](https://docs.microsoft.com/en-us/windows/wsl/wsl-config#global-configuration-options-with-wslconfig) 转到用户目录 `cd ~`,路径类似这个:`C:\Users\<UserName>` 创建 `.wslconfig` 文件填入以下内容 ```yaml [wsl2] memory=10GB # Limits VM memory in WSL 2 to 4 GB processors=2 # Makes the WSL 2 VM use two virtual processors ``` 生效配置,命令行运行 `wsl --shutdown` ## 更多相关命令 `docker ps` 查看当前运行中的容器 `docker images` 查看镜像列表 `docker rm container-id` 删除指定 id 的容器 `docker stop/start container-id` 停止/启动指定 id 的容器 `docker rmi image-id` 删除指定 id 的镜像 `docker volume ls` 查看 volume 列表 `docker network ls` 查看网络列表 >d 觉得老师讲得不错的话,记得点赞、关注、分享,鼓励下老师 你们的鼓励会让老师更加有动力继续创造更多更好的内容 你可以到 [Github issue](https://github.com/gzyunke/test-docker/issues) 给我提问或反馈遇到的问题。