编程知识 cdmana.com

docker-compose入坑

安装 docker-compose

下载方式(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

添加读写权限

$ sudo chmod +x /usr/local/bin/docker-compose

查看 docker-compose版本

$ 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

$ cd /usr/local/docker
创建文件夹
$ mkdir tomcat
创建 docker-compose.yml
$ vim docker-compose.yml
原样粘贴
:set paste

tomcat docker-compose.yml

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

守固态运行
$ docker-compose up -d
停止运行 容器
$ docker-compose down
查看容器运行的日志 容器id/容器名称
$ docker logs -f id/name

docker-compose安装mysql

mysql docker-compose.yml

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的运行内存

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 端口

$ firewall-cmd --zone=public --add-port=2222/tcp --permanent

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

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

闲言:

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

版权声明
本文为[Shao Jie]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/1858557

Scroll to Top