docker -- compose 的使用

目录

官方文档:Get started with Docker Compose | Docker Documentation

1.下载并且安装compose的命令行插件

1) 上传docker-compose程序

2) 测试compose是否可以使用

2、 使用compose  ---  配置文件内容

1) vim app.py

2) vim requirements.txt

3)vim Dockerfile

4)docker-compose.yml

5) docker compose up

3. compose and WordPress

1) docker-compose.yml

2)、docker compose up -d

WordPress 缺点:

git,GitHub,GitLab它们的区别?

常用容器编排工具:


官方文档:Get started with Docker Compose | Docker Documentation

                                              ---------To download and install the Compose CLI plugin, run:

1.下载并且安装compose的命令行插件

 [root@localhost _data]# DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
 [root@localhost _data]# echo $DOCKER_CONFIG
 /root/.docker
 [root@localhost _data]#  mkdir -p $DOCKER_CONFIG/cli-plugins
 [root@localhost _data]#

在香港的服务器上去下载,然后xftp传回长沙,然后分享给大家 curl -SL https://github.com/docker/compose/releases/download/v2.7.0/docker-compose-linux-x86_64 -o docker-compose

1) 上传docker-compose程序

上传docker-compose程序到自己的linux宿主机里,存放到/root/.docker/cli-plugins/

 [root@localhost ~]# mv docker-compose /root/.docker/cli-plugins/
 [root@localhost ~]# cd /root/.docker/cli-plugins/
 [root@localhost cli-plugins]# ls
 docker-compose
 [root@localhost cli-plugins]# chmod +x docker-compose  授予可执行权限
 [root@localhost cli-plugins]#

2) 测试compose是否可以使用

 [root@localhost cli-plugins]# docker compose version 
 Docker Compose version v2.7.0
 [root@localhost cli-plugins]#

2、 使用compose  ---  配置文件内容

Get started with Docker Compose | Docker Documentation

1) vim app.py

 [root@docker-1 composetest]# pwd 
 /composetest
 [root@docker-1 composetest]# cat app.py 
 import time
 ​
 import redis
 from flask import Flask
 ​
 app = Flask(__name__)
 cache = redis.Redis(host='redis', port=6379)
 ​
 def get_hit_count():
     retries = 5
     while True:
         try:
             return cache.incr('hits')
         except redis.exceptions.ConnectionError as exc:
             if retries == 0:
                 raise exc
             retries -= 1
             time.sleep(0.5)
 ​
 @app.route('/')
 def hello():
     count = get_hit_count()
     return 'Hello World! I have been seen {} times.\n'.format(count)

2) vim requirements.txt

 [root@docker-1 composetest]# cat requirements.txt 
 flask
 redis
 [root@docker-1 composetest]# 

3)vim Dockerfile

 [root@docker-1 composetest]# cat 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"]

4)docker-compose.yml

[root@docker-1 composetest]# lsof -i|grep 8000
 [root@docker-1 composetest]#      ###确保8000端口是空闲的
 [root@docker-1 composetest]# cat docker-compose.yml 
 version: "3.9"
 services:
   web:
     build: .
     ports:
       - "8000:5000"
   redis:
     image: "redis:alpine"
 [root@docker-1 composetest]# 

5) docker compose up

docker compose ps

 [root@docker-1 composetest]# docker compose up -d
 [+] Running 3/3
  ⠿ Network composetest_default    Created                                                                                           0.0s
  ⠿ Container composetest-redis-1  Started                                                                                           0.7s
  ⠿ Container composetest-web-1    Started                                                                                           0.8s
 [root@docker-1 composetest]# pwd
 /composetest
 [root@docker-1 composetest]# docker compose ps
 NAME                  COMMAND                  SERVICE             STATUS              PORTS
 composetest-redis-1   "docker-entrypoint.s…"   redis               running             6379/tcp
 composetest-web-1     "flask run"              web                 running             0.0.0.0:8000->5000/tcp, :::8000->5000/tcp
 [root@docker-1 composetest]# 

浏览器查看

  • docker compose 是一台机器上进行容器编排的工具

  • docker swarm 是docker 官方推出的进行多台宿主机上进行容器编排的工具--》docker 集群里进行容器编排,跨宿主机了

  • k8s 是 云原生基金会(google主导)推出的进行多台宿主机上进行容器编排的工具--》集群里进行容器编排,跨宿主机了 

3. compose and WordPress

Quickstart: Compose and WordPress | Docker Documentation

1) docker-compose.yml

[root@docker-1 /]# cd my_wordpress/
 [root@docker-1 my_wordpress]# ls
 docker-compose.yml
 [root@docker-1 my_wordpress]# cat docker-compose.yml 
 services:
   db:
     # We use a mariadb image which supports both amd64 & arm64 architecture
     image: mariadb:10.6.4-focal
     # If you really want to use MySQL, uncomment the following line
     #image: mysql:8.0.27
     command: '--default-authentication-plugin=mysql_native_password'
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       - MYSQL_ROOT_PASSWORD=sc123456
       - MYSQL_DATABASE=wordpress
       - MYSQL_USER=wordpress
       - MYSQL_PASSWORD=wordpress
     expose:
       - 3306
       - 33060
   wordpress:
     image: wordpress:latest
     ports:
       - 80:80
     restart: always
     environment:
       - WORDPRESS_DB_HOST=db
       - WORDPRESS_DB_USER=wordpress
       - WORDPRESS_DB_PASSWORD=wordpress
       - WORDPRESS_DB_NAME=wordpress
 volumes:
   db_data:

2)、docker compose up -d

浏览器访问主机ip:80,查看是否操作成功

WordPress 缺点:

        只能在一台宿主机上编排容器

git,GitHub,GitLab它们的区别?

        gitlab --》可以在公司内部搭建一个属于公司自己人在内部使用的代码托管平 台 私有云 The One DevOps Platform | GitLab github --》基于git的代码托管平台---》代码托管的网站--》git+网站=github --》国外的一个代码托管平台--》微软收购了 在公网上使用 公有云 git --》版本控制软件--》linux内核的作者linus gitee --》码云--》基于git的代码托管平台---》代码托管的网站--》git+网站=github --》国内的一个代码托管平台

常用容器编排工具:

1.compose

​2.swarm

3.k8s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值