当前位置:   article > 正文

Linux安装docker-compose【超详细,推荐程序员面试秘籍_linux 安装docker-compose

linux 安装docker-compose
#这一行指定了 Docker Compose 文件的版本。在这种情况下,使用的是版本 3。
version: "3"
#这一部分定义了一个名为 "mysql" 的服务,使用 MySQL 5.7.19 版本的 Docker 镜像。它将创建一个 MySQL 容器。
services:
  mysql:
    image: mysql:5.7.19
    #表示当容器停止时,它会自动重新启动,确保 MySQL 服务持续可用。
    restart: always
    #为容器指定一个名称,即 "mysql"。
    container\_name: mysql
    #将主机的 3306 端口映射到容器的 3306 端口,这使得你可以通过主机的 3306 端口访问 MySQL 服务。
    ports:
      - 3306:3306
    #将主机上的三个目录分别挂载到容器内的相应目录中,实现了配置、数据和日志的持久化存储。这对于避免数据丢失以及配置和日志的可维护性都非常重要。
    volumes:
      - /data/software/mysql/conf/:/etc/mysql/conf.d
      - /data/software/mysql/data:/var/lib/mysql
      - /data/software/mysql/log/:/var/log/mysql
    #设置 MySQL 容器的环境变量。这些变量会在容器启动时传递给 MySQL 服务:
    environment:
    #设置 MySQL 的 root 用户密码为 "root"。 默认用户名为root
      MYSQL\_ROOT\_PASSWORD: root
    #创建一个名为 "test" 的数据库。
      MYSQL\_DATABASE: test
    #创建一个名为 "bing" 的用户。
      MYSQL\_USER: bing
    #设置用户 "bing" 的密码为 "123456"。
      MYSQL\_PASSWORD: 123456

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

3、使用docker-compose启动

#-d 后台启动
docker compose -f docker-compose-mysql.yml up -d

  • 1
  • 2
  • 3

启动成功
在这里插入图片描述

放开3306端口

#设置单个端口开放
sudo firewall-cmd --add-port=3306/tcp --permanent
#重新加载防火墙
sudo firewall-cmd --reload

  • 1
  • 2
  • 3
  • 4
  • 5

连接成功

在这里插入图片描述

关闭mysql

#吐槽一下 网上的都加了- 不懂为啥
docker compose -f docker-compose-mysql.yml down

  • 1
  • 2
  • 3

成功

在这里插入图片描述

使用docker ps -a 查看到mysql镜像也被移除了

compose命令选项

-f, --file FILE 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定
-d, 在后台启动运行
-p, --project-name NAME 指定项目名称,默认将使用所在目录名称作为项目名
–x-networking 使用 Docker 的可拔插网络后端特性
–x-network-driver DRIVER 指定网络后端的驱动,默认为 bridge
–verbose 输出更多调试信息
-v, --version 打印版本并退出

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • Docker Compose 的 YAML 文件包含 4 个一级 key:version、services、networks、volumes
  • version 是必须指定的,而且总是位于文件的第一行。它定义了 Compose 文件格式(主要是 API)的版本。注意,version 并非定义 Docker Compose 或 Docker 引擎的版本号
  • services 用于定义不同的应用服务。上边的例子定义了两个服务:一个名为 lagou-mysql数据库服 务以及一个名为lagou-eureka的微服。Docker Compose 会将每个服务部署在各自的容器中
  • networks 用于指引 Docker 创建新的网络。默认情况下,Docker Compose 会创建 bridge 网络。 这是一种单主机网络,只能够实现同一主机上容器的连接。当然,也可以使用 driver 属性来指定不 同的网络类型
  • volumes 用于指引 Docker 来创建新的卷

compose常用命令

#启动
docker-compose up -d
 
#关闭
docker-compose down
 
#查看进程
docker-compose ps
 
#查看日志
docker-compose logs
 
#重新构建服务
docker-compose build
 
#开始服务
docker-compose start
 
#停止服务
docker-compose stop
 
#重启服务
docker-compose restart

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

官方提供的一个小demo

https://docs.docker.com/compose/gettingstarted/
编写dockerFile

# syntax=docker/dockerfile:1
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
EXPOSE 5000
COPY . .
CMD ["flask", "run"]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

这个文件告诉docker:

  • 从 Python 3.7 映像开始构建映像。
  • 将工作目录设置为/code.
  • 设置命令使用的环境变量flask
  • 安装gcc和其他依赖项
  • 复制requirements.txt并安装 Python 依赖项。
  • 向镜像添加元数据以描述容器正在侦听端口 5000
  • .将项目中的当前目录复制到.镜像中的workdir。
  • 将容器的默认命令设置为flask run
services:
  web:
    build: .
    ports:
      - "8000:5000"
  redis:
    image: "redis:alpine"

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

此 Compose 文件定义了两个服务:webredis

该服务使用从当前目录中web构建的图像。Dockerfile然后,它将容器和主机绑定到公开的端口8000。此示例服务使用 Flask Web 服务器的默认端口5000

在浏览器中输入 http://localhost:8000/ 以查看应用程序正在运行。

如果显示连接被拒绝,可以看下8000端口有没有被放开。

#查看镜像
docker inspect <tag or id>

  • 1
  • 2
  • 3

编辑compose.yaml项目目录中的文件以添加 服务的绑定挂载web

services:
  web:
    build: .


**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/df0592bca9640eafa1c12f088ffd77b9.png)
![img](https://img-blog.csdnimg.cn/img_convert/67f17181c9accda5de34f0810c0d3bfd.png)
![img](https://img-blog.csdnimg.cn/img_convert/93a17560fe6180f680525e2fccf26188.png)
![img](https://img-blog.csdnimg.cn/img_convert/32b1d5463a226718fc8303b5ae79ead5.png)
![img](https://img-blog.csdnimg.cn/img_convert/6f64b8a36818f8bf57ece90c2f87707f.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/0d2b48f694f82990e1aac057a6eae79f.jpeg)



### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/7ba94372ff26ff4aafd9368723d5f4e4.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/ac1c294c51ef0245ecbba6b6d11fb05d.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/721e54c1673d87772795b18242d265ff.jpeg)

理的电子书资料:

  

[外链图片转存中...(img-11ZY5ZiX-1712519445504)]



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-55X8u9kL-1712519445505)]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/989608
推荐阅读
相关标签
  

闽ICP备14008679号