您的位置:首页 > 科技 > IT业 > 国际网站怎么开通_长春火车站_什么是seo推广_杭州网站建设 seo

国际网站怎么开通_长春火车站_什么是seo推广_杭州网站建设 seo

2024/12/22 13:39:12 来源:https://blog.csdn.net/m0_73950916/article/details/142795143  浏览:    关键词:国际网站怎么开通_长春火车站_什么是seo推广_杭州网站建设 seo
国际网站怎么开通_长春火车站_什么是seo推广_杭州网站建设 seo

文章目录

    • docker-compose
      • 1、docker-compose字段
        • 2、volumes字段
        • 3、build字段
        • 4、depends_on
      • 2、docker-compose模版命令
        • 1、docker-compose up
        • 2、docker-compose down
        • 3、docker-compose rm
        • 4、docker-compose logs
      • 3、案例

docker-compose

  1. 为什么需要docker-compose
    • python编写的docker

    • 一个项目需要很多个容器一起运行,才能完成

    • 就会形成一个依赖,就是a容器启动后,b容器才能启动

    • 这个时候就需要容器的编排了

    • 以项目为角度,来进行解决

    • 将一个项目中需要的容器进行了编排

    • 多个容器相互配合来使用

    • 定义这个项目需要很多的服务(容器)

1、docker-compose字段

project # 定义一组关联的容器(服务)组成的一个业务单元service # 一个项目的中一个容器称之为一个服务,服务就是容器[root@docker ems]# cat docker-compose.yaml 
version: "2.6.0"  # docker-compose的版本
services:  # 服务,多个容器tomcat:container_name: tomcat_01  # 容器自定义的名字image: tomcat:8.0ports:- 8080:8080tomcat01:image: tomcat:8.0ports:- 8081:8080redis:image: redis:5.0.12ports:- 6379:6379mysql:image: mysqlports:- 3306:3306environment:   # 环境变量- "MYSQL_ROOT_PASSWORD=root"volumes:
#    - /root/mysqldata1:/var/lib/mysql- mysqldata:/var/lib/mysqlvolumes:  # 声明数据卷mysqldata: [root@docker docker]# docker-compose up
2、volumes字段
  • 绝对路径

  • 数据卷别名的话,需要声明

   volumes:
#    - /root/mysqldata1:/var/lib/mysql- mysqldata:/var/lib/mysqlvolumes:mysqldata:  # 声明数据卷# 查看卷
[root@docker ems]# docker volume ls
DRIVER    VOLUME NAME
local     03be689ca6328c4c03ed05198d6145b7bb42919bf2c298c8e8369db44f778780
local     398a3dca9fde9bbbc0e61682b7b8f99a93bc19e744cda5d2786b434ff17c43ed
local     93026f95ece586b88d00607bfb12291e96b0ad73fb8d5b24836491a6def313d1
local     bc976311848ef09c5438d7473ffd6e28aaac3a5a29421e0b1c9b5133e65a4b34
local     ca2fd36d0d4bad7e6d783e423c801f590f7dcf319214962194a9f7679fb75624
local     ems_mysqldata
local     v1
3、build字段
  • 基于当前目录构建镜像

  • 在启动容器之前,先根据dockerfile构建镜像

4、depends_on
  • 控制着容器之间启动先后顺序
  tomcat01:image: tomcat:8.0ports:- 8081:8080depends_on:  # 先启动redis和mysql再来启动tomcat01- redis- mysql

2、docker-compose模版命令

1、docker-compose up
Usage:  docker compose up [SERVICE...]
Create and start containers
Options:--abort-on-container-exit   Stops all containers if any container was stopped. Incompatible with -d       # 只要有容器停止就停止所有容器,与-d选项不兼容--always-recreate-deps      Recreate dependent containers. Incompatible with --no-recreate.       # 总是重新创建所依赖的容器,与--no-recreate选项不兼容--attach stringArray        Attach to service output.--attach-dependencies       Attach to dependent containers.--build                     Build images before starting containers.      # 在启动容器之前构建镜像-d, --detach                    Detached mode: Run containers in the background          # 后台运行服务容器,输出新容器名称--exit-code-from string     Return the exit code of the selected service container. Implies --abort-on-container-exit   # 为指定服务的容器返回退出码--force-recreate            Recreate containers even if their configuration and image havent changed.      # 强制重新创建容器,即使配置和镜像没有变化--no-build                  Dont build an image, even if its missing.     # 不构建缺失的镜像--no-color                  Produce monochrome output.--no-deps                   Dont start linked services.                   # 不启动所连接的服务--no-log-prefix             Dont print prefix in logs.--no-recreate               If containers already exist, dont recreate them. Incompatible with --force-recreate.--no-start                  Dont start the services after creating them.--quiet-pull                Pull without printing progress information.              # 拉取镜像时不会输出进程信息--remove-orphans            Remove containers for services not defined in the Compose file.     # 移除compose文件中未定义的服务容器-V, --renew-anon-volumes        Recreate anonymous volumes instead of retrieving data from the previous containers.--scale scale               Scale SERVICE to NUM instances. Overrides the scale setting in the Compose file if present.   # 服务=数值,来设置服务的实例数量-t, --timeout int               Use this timeout in seconds for container shutdown when attached or when containers are already running. (default 10)   # 设置停止连接的容器或已运行容器所等待的超时时间--wait                      Wait for services to be running|healthy. Implies detached mode.
2、docker-compose down
Usage:  docker compose down
Stop and remove containers, networks
Options:--remove-orphans    Remove containers for services not defined in the Compose file.    # 删除不在compose文件中定义的服务容器--rmi string        Remove images used by services. "local" remove only images that dont have a custom tag ("local"|"all")    # 删除服务使用的镜像-t, --timeout int       Specify a shutdown timeout in seconds (default 10)    # 设置停止容器的超时时间(默认10秒)-v, --volumes volumes    Remove named volumes declared in the volumes section of the Compose file and anonymous volumes attached to containers.     # 删除由服务定义创建的数据卷# 常规清理(清理容器和网络)
docker-compose down# 带数据卷清理
docker-compose down -v# 删除镜像
docker-compse down --rmi all# 超时设置(设置容器停止超时时间为30秒)
docker-compose down --timeout 30
3、docker-compose rm
Usage:  docker compose rm [SERVICE...]
Removes stopped service containers
By default, anonymous volumes attached to containers will not be removed. You
can override this with -v. To list all volumes, use "docker volume ls".
Any data which is not in a volume will be lost.Options:-f, --force     Dont ask to confirm removal    # 删除不问询确认-s, --stop      Stop the containers, if required, before removing   # 删除前先停止容器-v, --volumes   Remove any anonymous volumes attached to containers  # 删除容器附加的卷
4、docker-compose logs

查看容器的信息

3、案例

version: "v2.6.0"
services:tomcat01:image: mysqlports:- 8080:8080   # 宿主机端口:容器端口environment:- "MYSQL_ROOT_PASSWORD=root"volumes:- /root/mysqldata1:/var/lib/mysql  # 宿主日目录:容器目录- mysqldata:/var/lib/mysql11networks:- b1tomcat02:image: awesomebuild: ./webapp   # 构建上下文depends_on:- tomcat02
volumes:mysqldata:  # 创建一个匿名卷
networks:  b1:  # 会创建一个网络出来的

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com