Docker快速安装软件

Docker快速安装软件
墨颜丶直接安装的缺点
- 安装麻烦,可能有各种依赖,运行报错。例如:WordPress,ElasticSearch,Redis,ELK
- 可能对 Windows 并不友好,运行有各种兼容问题,软件只支持 Linux 上跑
- 不方便安装多版本软件,不能共存。
- 电脑安装了一堆软件,拖慢电脑速度。
- 不同系统和硬件,安装方式不一样
Docker 安装的优点
- 一个命令就可以安装好,快速方便
- 有大量的镜像,可直接使用
- 没有系统兼容问题,Linux 专享软件也照样跑
- 支持软件多版本共存
- 用完就丢,不拖慢电脑速度
- 不同系统和硬件,只要安装好 Docker 其他都一样了,一个命令搞定所有
演示 Docker 安装 Redis
Redis 官网:https://redis.io/
官网下载安装教程只有源码安装方式,没有 Windows 版本。想要自己安装 windows 版本需要去找别人编译好的安装包。
Docker 官方镜像仓库查找 Redis :https://hub.docker.com/
一个命令跑起来:docker run -d -p 6379:6379 --name redis redis:latest
docker run
:这是 Docker 的基本命令,用于从指定的镜像启动一个新的容器。-d
:这个标志告诉 Docker 在后台以“分离”模式运行容器。这意味着容器将在后台启动,并且不会将容器的输出直接发送到你的终端。相反,你可以使用docker logs
命令来查看容器的输出。-p 6379:6379
:这是端口映射的标志。它告诉 Docker 将宿主机的6379
端口映射到容器的6379
端口。这样,当你访问宿主机的6379
端口时,实际上你是在访问容器的6379
端口。这对于让外部系统能够访问容器内的服务(如 Redis)是必要的。--name redis
:这个标志为容器指定一个名称,这里是redis
。给容器命名可以让你更容易地引用和管理它,比如使用docker stop redis
来停止这个容器。redis:latest
:这是你要基于的 Docker 镜像的名称和标签。redis
是镜像的名称,而latest
是标签,它表示你希望使用 Redis 的最新版本。Docker 会从 Docker Hub 或你配置的其他镜像仓库中拉取这个镜像(如果本地没有缓存的话),并基于这个镜像来启动容器。
命令参考:https://docs.docker.com/engine/reference/commandline/run/
安装 Wordpress
docker-compose.yml
1 | version: '3.1' |
然后PowerShell
在docker-compose.yml
文件同目录下执行docker-compose up -d
安装 ELK
1 | docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 -it --name elk sebp/elk |
转到用户目录 cd ~
,路径类似这个:C:\Users\<UserName>
创建 .wslconfig
文件填入以下内容
1 | [wsl2] |
生效配置,命令行运行 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
查看网络列表
Linux Docker安装软件
搜索镜像
1 | docker search nginx |
- 功能:在 Docker Hub 上搜索与 nginx 相关的镜像。
拉取镜像
1 | docker pull nginx |
- 功能:从 Docker Hub 拉取官方的 nginx 镜像。
查看镜像
1 | docker images |
- 功能:列出本地主机上所有可用的 Docker 镜像。
运行容器
1 | docker run -d --name nginx-app -p 80:80 nginx |
- 功能:在后台启动一个新的 nginx 容器,命名为 nginx-app,并将容器的 80 端口映射到主机的 80 端口。
- 解疑:即使没有预先使用
docker pull
命令拉取 nginx 镜像,Docker 仍然能够成功运行 nginx 容器的原因在于 Docker 的自动镜像拉取机制。本地没有该镜像,Docker 会自动从配置的镜像仓库(默认为 Docker Hub)上拉取所需的镜像。
1 | docker run -d --name nginx-app -p 80:80 --restart always nginx |
- 功能:它添加了一个
--restart always
参数。这个参数指定了一个重启策略,即无论容器退出的原因是什么(除了手动停止或删除容器),Docker 都会尝试重新启动它
查看容器状态
1 | docker ps |
- 功能:查看当前正在运行的容器。
1 | docker ps -a |
- 功能:查看所有容器(包括正在运行和已停止的)。
管理容器生命周期
1 | docker start nginx-app |
- 功能:启动已停止的名为 nginx-app 的容器。
1 | docker stop nginx-app |
- 功能:停止正在运行的名为 nginx-app 的容器。
1 | docker restart nginx-app |
- 功能:重启名为 nginx-app 的容器。
删除容器
1 | docker rm nginx-app |
- 功能:删除名为 nginx-app 的容器(如果容器正在运行,则命令会失败)。
1 | docker rm -f nginx-app |
- 功能:强制删除名为 nginx-app 的容器,即使它正在运行。
删除镜像
1 | docker rmi nginx |
- 功能:删除名为 nginx 的 Docker 镜像。
总结
- 搜索:使用
docker search
查找所需的镜像。 - 拉取:使用
docker pull
拉取镜像到本地。 - 查看:使用
docker images
查看本地所有镜像。 - 运行:使用
docker run
运行容器,并配置相关参数。 - 查看状态:使用
docker ps
查看运行中的容器,docker ps -a
查看所有容器。 - 管理生命周期:使用
docker start
、docker stop
和docker restart
控制容器的启动、停止和重启。 - 删除:使用
docker rm
删除容器,docker rmi
删除镜像。如果需要强制删除,可以使用-f
或--force
选项。
请注意,始终确保在删除容器或镜像之前,您不再需要它们,或者已经备份了重要数据,以避免数据丢失。
文笔流畅美,点赞纷至来;
内容引入胜,分享乐开怀;
佳作值得赏,打赏表心怀。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果