前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker-compose入坑

docker-compose入坑

作者头像
是小张啊喂
发布2021-08-09 17:40:24
7810
发布2021-08-09 17:40:24
举报
文章被收录于专栏:软件

安装 docker-compose

代码语言:javascript
复制
下载方式(1)
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
下载方式(2)
$ wget https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m) -O /usr/local/bin/docker-compose

添加读写权限

代码语言:javascript
复制
$ sudo chmod +x /usr/local/bin/docker-compose

查看 docker-compose版本

代码语言:javascript
复制
$ docker-compose version
docker-compose version 1.25.0, build 0a186604
docker-py version: 4.1.0
CPython version: 3.7.4
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

docker-compose安装tomcat

代码语言:javascript
复制
$ cd /usr/local/docker
创建文件夹
$ mkdir tomcat
创建 docker-compose.yml
$ vim docker-compose.yml
原样粘贴
:set paste

tomcat docker-compose.yml

代码语言:javascript
复制
version: '3.1'
services:
    tomcat:
        restart: always
        image: tomcat
        # 镜像名称
        container_name: tomcat
        ports:
            - 8080:8080
        # 数据卷
        volumes:
            - ./webapps:/usr/local/tomcat/webapps
        environment:
            TZ: Asia/Shanghai

启动tomcat

代码语言:javascript
复制
守固态运行
$ docker-compose up -d
停止运行 容器
$ docker-compose down
查看容器运行的日志 容器id/容器名称
$ docker logs -f id/name

docker-compose安装mysql

mysql docker-compose.yml

代码语言:javascript
复制
version: '3.1'
services:
    db:
        restart: always
        image: mysql
        container_name: mysql
        environment:
            TZ: Asia/Shanghai
            MYSQL_ROOT_PASSWORD: 123456
        command:
        #    --default-anthentication-plugin=mysql_native_password
            --character-set-server=utf8mb4
            --collation-server=utf8mb4_general_ci
            --explicit_defaults_for_timestamp=true
        #    --lower_case_table_names=1
        ports:
            - 3306:3306
        volumes:
            - ./data:/var/lib/mysql
            - ./config:/etc/mysql/conf.d
            - ./log:/var/log/mysql

    # MySQL 的 Web 客户端  PHP
    adminer:
        image: adminer
        restart: always
        ports:
            - 8081:8080

这里需要注意的是--default-anthentication-plugin=mysql_native_password参数

因为我是虚拟机,并没有使用自己的服务器学习,所以我卡在这里很久一直没有找到什么问题,当我将command:所有的参数全部注释掉就能正常启动和访问了,经过测试如果想正常启动--default-anthentication-plugin=mysql_native_password--lower_case_table_names=1必须同时删除,暂时还没搞清楚具体的原因,百度了很多的资料,包括官方的docker-compose.yml都有设置这个参数,但是奇怪的就是我这里不能使用,很头疼

adminer是一个MySQL 的 Web 客户端 ,这个都没啥问题直接访问就可以了

docker-compose安装部署 GitLab

gitlab docker-compose.yml

温馨提醒:启动gitlab最少需要4G的运行内存

代码语言:javascript
复制
version: '3.1'
services:
    web:
        restart: always
        image: 'twang2218/gitlab-ce-zh'
        container_name: gitlab
        hostname: '192.168.226.128'
        environment:
            TZ: Asia/Shanghai
            GITLAB_OMNIBUS_CONFIG: |
                external_url 'http://192.168.226.128'
                gitlab_rails['gitlab_shell_ssh_port'] = 2222
                unicorn['port'] = 8888
                nginx['listen_port'] = 80
        ports:
            - '80:80'
            - '443:443'
            - '2222:22'
        volumes:
            - ./config:/etc/gitlab
            - ./data:/var/opt/gitlab
            - ./logs:/var/log/gitlab

启动docker-compose这个过程需要很久很久很久......(重要的事情说三遍),不要以为你错了,也可能单纯是因为服务器太慢

可能还需要防火墙开放这里的 2222 端口

代码语言:javascript
复制
$ firewall-cmd --zone=public --add-port=2222/tcp --permanent

过程过于漫长,耐心等待吧。如果觉得等的无聊,那就看下这个镜像厂库的介绍,和具体的操作吧

DockerHub地址:https://hub.docker.com/r/twang2218/gitlab-ce-zh

闲言:

更新完博客,说一下最近更新的很慢,因为公司的事情实在是有点忙,不过在这段忙的时间反而学到了很多东西,发现nginx还挺有意思的,以前都只是做一个简单的转发呀这些,没有实际的学习过这些东西,涉及到一些像什么CDN转发呀这些,属实很顶,有时间给大家更新一期,不过得先容我学习一下 见谅!

流浪去吧,总会在世界的一角找到愿意懂你的人

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 docker-compose
  • docker-compose安装tomcat
  • docker-compose安装mysql
  • docker-compose安装部署 GitLab
  • 闲言:
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档