[Exchange and share] deepin v23下docker-compose的安装和简单使用
Tofloor
poster avatar
fslong
deepin beta test group
2024-07-27 08:27
Author

一、docker简介及安装


img.png

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

如果显示和下图一样表示一切正常:

img-1.png

跑个 hello-world试试水吧:

sudo docker run hello-world

如果一切正常,会看到类似下面的输出:

img-2.png

二、docker-compose简介及安装

Docker Compose 是 Docker 官方编排(Orchestration)项目之一,负责快速在集群中部署分布式应用。
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从一个YML文件配置中创建并启动所有服务,这对分布式应用来说非常方便。

Compose 使用的三个步骤:

  1. 定义应用的服务:指定使用的镜像或者镜像地址
  2. 定义服务之间的关系
  3. 启动应用

安装docker-compose:

sudo apt install docker-compose

安装完成后,查看版本:

docker-compose --version

如果一切正常,会看到类似下面的输出:

img-3.png

三、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

如果一切正常,会看到类似下面的输出:

img-4.png

等下载完毕,服务就启动了:

img-5.png

访问 http://localhost,会看到nginx的欢迎页面:

img-6.png

此时如果 关闭终端或者按了 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命令查看镜像:

img-7.png

如果这个服务真的不会再用,需要删除镜像,可以使用 sudo docker xxx命令,xxx是镜像id的前三位,比如:

img-8.png

3.4 镜像更新

有时候我们的镜像会 发生一些更新,此时需要拉取更新就要使用命令:

sudo docker-compose pull

image.png

等待一段时间都显示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版本我再更新怎么使用吧。

Reply Favorite View the author
All Replies
感恩的心
deepin
2024-07-27 08:33
#1

like

Reply View the author
什么是快乐星球
deepin
2024-07-27 09:52
#2

like

Reply View the author
simple linux
deepin
2024-07-27 10:11
#3

不用梯子也能安装docker了么?还有下载镜像?这么厉害?

Reply View the author
fslong
deepin beta test group
2024-07-27 10:13
#4
simple linux

不用梯子也能安装docker了么?还有下载镜像?这么厉害?

有些镜像本身就是在国内的,拉取的时候不是从docker.hub上拉取,自然不受影响。

至于受影响的,那就只能各位自己上手段了,我这里当然不方便说了。

Reply View the author
simple linux
deepin
2024-07-27 10:16
#5
fslong

有些镜像本身就是在国内的,拉取的时候不是从docker.hub上拉取,自然不受影响。

至于受影响的,那就只能各位自己上手段了,我这里当然不方便说了。

懂了,就得使用魔法了。

Reply View the author
fslong
deepin beta test group
2024-07-27 10:31
#6
simple linux

懂了,就得使用魔法了。

其实不用魔法也行,就是费点事。

Reply View the author
灰太狼叔叔
deepin
2024-07-27 11:47
#7
这是非常棒的!插眼!
Reply View the author
乾豫恒益
deepin
2024-07-27 15:07
#8

like like like

Reply View the author
阿尼樱奈奈
Moderator
2024-07-27 17:03
#9
Reply View the author
ggbond
deepin
2024-07-27 18:12
#10

like

Reply View the author
风过无痕迹
deepin
2024-08-18 14:26
#11
It has been deleted!
风过无痕迹
deepin
2024-08-18 14:32
#12
It has been deleted!
cz012273
deepin
2024-08-18 21:25
#13

非常有用,让零基础的我也能用上Docker了!👍

Reply View the author
robert
deepin
2024-08-19 11:47
#14
通过这种方式docker的版本有点低,能不能升级到最新版本去
Reply View the author
fslong
deepin beta test group
2024-08-19 19:12
#15
robert
通过这种方式docker的版本有点低,能不能升级到最新版本去

去debian软件源里偷下docker.io这个包试试看,没准能行。

Reply View the author