deepin v23下docker-compose的安装和简单使用
deepin v23下docker-compose的安装和简单使用
本文将介绍在deepin v23系统下docker-compose的安装和简单使用。内容包括docker简介及安装、docker-compose简介及安装以及docker-compose的简单使用等几个部分。
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
其他的使用场景和优点可以参考网上有关教程,这里不再赘述。
deepin v23作为优秀的linux发行版,自然对开发者是比较友好的,软件源里已经集成了docker,不需要再使用网上很繁琐的教程安装,这里给研发人员点个赞。
安装过程非常简单:
sudo apt install docker.io
安装完成后,启动docker服务:
sudo systemctl start docker
查看docker服务是否正常启动:
sudo systemctl status docker
如果显示和下图一样表示一切正常:
跑个hello-world试试水吧:
sudo docker run hello-world
如果一切正常,会看到类似下面的输出:
二、docker-compose简介及安装
Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从一个YML文件配置中创建并启动所有服务,这对分布式应用来说非常方便。
Compose 使用的三个步骤:
- 定义应用的服务:指定使用的镜像或者镜像地址
- 定义服务之间的关系
- 启动应用
安装docker-compose:
sudo apt install docker-compose
安装完成后,查看版本:
docker-compose --version
如果一切正常,会看到类似下面的输出:
三、docker-compose简单使用
3.1 启动容器
创建一个目录,比如docker-compose-demo,进入该目录,nano docker-compose.yml创建一个docker-compose.yml文件,内容如下:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
然后在该目录下执行:
sudo docker-compose up
如果一切正常,会看到类似下面的输出:
等下载完毕,服务就启动了:
访问http://localhost,会看到nginx的欢迎页面:
此时如果关闭终端或者按了ctrl+c服务均会停止,*但容器还在的,如果容器配置了自动重启,下次开机还会自动启动。
如果想后台启动,使用sudo docker-compose up -d即可。
3.2 停止容器
- 如果在上一步使用了sudo docker-compose up -d,则使用sudo docker-compose down即可停止容器。
- 如果在上一步使用了sudo docker-compose up,则使用ctrl+c即可停止容器。
3.3 删除容器
如果需要删除容器,可以使用sudo docker-compose rm命令,比如:
sudo docker-compose rm
此时镜像和你做的yml文件均还在的,可以通过sudo docker images命令查看镜像:
如果这个服务真的不会再用,需要删除镜像,可以使用sudo docker xxx命令,xxx是镜像id的前三位,比如:
3.4 镜像更新
有时候我们的镜像会 发生一些更新,此时需要拉取更新就要使用命令:
sudo docker-compose pull
等待一段时间都显示done了就说明你这个项目更新完毕了。
3.5 其他命令
更多命令可以参考官方文档:https://docs.docker.com/compose/reference/overview/
更多docker有关的玩法大家可以自行摸索,今天就分享一下基本的使用,很多教程中的安装docker环境不需要大家再去学习,就按本教程配置即可。
另外docker-compose又出了v2版本,这个版本里docker-compose已经作为docker的一个模块,命令有所变化,比如启动服务已经变成sudo docker compose up -d,具体等deepin上了v2版本我再更新怎么使用吧。