Docker方式搭建Gogs环境

来源:互联网 发布:网络综合布线施工顺序 编辑:程序博客网 时间:2024/06/06 04:01

Docker方式搭建Gogs环境

一、 镜像准备:

因为从官网的dockerhub仓库拉取镜像实在太慢,换了镜像源,操作如下:

修改/usr/lib/systemd/system/docker.service文件,在ExecStart中添加:

–registry-mirror=https://docker.mirrors.ustc.edu.cn 启动项。

添加后完整文件如下。

[Unit]Description=Docker Application Container EngineDocumentation=http://docs.docker.comAfter=network.targetWants=docker-storage-setup.serviceRequires=docker-cleanup.timer[Service]Type=notifyNotifyAccess=allEnvironmentFile=-/etc/sysconfig/dockerEnvironmentFile=-/etc/sysconfig/docker-storageEnvironmentFile=-/etc/sysconfig/docker-networkEnvironment=GOTRACEBACK=crashEnvironment=DOCKER_HTTP_HOST_COMPAT=1Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbinExecStart=/usr/bin/dockerd-current \          --registry-mirror=https://docker.mirrors.ustc.edu.cn \          --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \          --default-runtime=docker-runc \          --exec-opt native.cgroupdriver=systemd \          --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \          $OPTIONS \          $DOCKER_STORAGE_OPTIONS \          $DOCKER_NETWORK_OPTIONS \          $ADD_REGISTRY \          $BLOCK_REGISTRY \          $INSECURE_REGISTRYExecReload=/bin/kill -s HUP $MAINPIDLimitNOFILE=1048576LimitNPROC=1048576LimitCORE=infinityTimeoutStartSec=0Restart=on-abnormalMountFlags=slave[Install]WantedBy=multi-user.target

然后重启docker服务:

systemctl daemon-reload

systemctl restart docker.service

1. docker pull gogs ## 拉取Gogs镜像

2. docker pull mysql ## 拉取MySQL镜像


以上操作完成后使用docker images查看镜像,如下:

[root@zxg ~]$ docker imagesdocker.io/mysql       latest              d5127813070b        2 days ago          407.1 MBdocker.io/gogs/gogs   latest              4f7cef3b4ef6        6 days ago          126.8 MB[root@zxg ~]$ 

3. 为方便使用,给以上两个镜像打上自己的标签

docker tag docker.io/mysql:latest      mysql:zxgdocker tag docker.io/gogs/gogs:latest  gogs:zxg

二、基于mysql镜像,制作符合要求的mysql镜像

由于拉取的mysql镜像,其编码默认是latin,而gogs要求是utf8,因此,需要修改编码,制作新镜像,步骤如下:

1. 得到mysql的配置文件

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:zxg  ## 运行出一个MySQL容器docker cp MySQL容器ID:/etc/mysql/mysql.conf.d/mysqld.cnf .   ## 拷贝mysql的配置文件到当前目录

2. 修改MySQL配置文件

在上一步得到的mysqld.cnf文件中,增加character-set-server = utf8, 大致如下[mysqld]pid-file    = /var/run/mysqld/mysqld.pidsocket      = /var/run/mysqld/mysqld.sockdatadir     = /var/lib/mysqlcharacter-set-server = utf8init_connect = 'SET NAMES utf8'

3. 编写Dockerfile持久化MySQL配置文件

FROM mysql:zxgADD mysqld.cnf /etc/mysql/mysql.conf.d/

4. 根据dockerfile编译新镜像

docker build -t mysqlutf8:zxg --no-cache=true -f Dockerfile .

三、运行gogs容器,mysql容器

1. 运行utf8编码的MySQL容器

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -v /opt/mysql:/var/lib/mysql -v /etc/localtime:/etc/localtime mysqlutf8:zxg

2. 运行gogs容器

docker run -d -p 10080:3000 10022:22 -v /opt/gogs:/data -v /etc/localtime:/etc/localtime gogs:zxg

四、新建gogs数据库

进入mysql容器新建gogs数据库

docker exec -it mysqlutf8容器ID bash[root@zxg opt]$ docker exec -it 1ec bashroot@1ec26f5dc361:/# mysql -h 127.0.0.1 -uroot -proot              mysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 36Server version: 5.7.18 MySQL Community Server (GPL)Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> create database gogs default character set utf8 collate utf8_general_ci;

五、浏览器访问http://ip:10080

1. 配置mysql

image

2. 配置gogs应用

image

3.可选配置

image

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 红米手机重置后开机黑屏怎么办 dnf夏日套光环选错了怎么办 ios6微信版本低登录不了怎么办 捡了一个苹果手机有id怎么办 外阴长了个包出血很痛怎么办 腿上烫成泡了泡泡破了掉皮了怎么办 脚上的脚气小泡泡破了怎么办 吃鸡使用改名卡改名符号怎么办 爱派平板电脑密码忘了怎么办 电脑优酷下载总显示未知错误怎么办 文本文档打开时显字符丢失怎么办 系统文件过大无法放进u盘怎么办 淘宝上买的密钥激活不了怎么办 苹果手机玩游戏屏幕卡住不动怎么办 电脑系统安装好一排英文字怎么办 赴日签证申请表写错了怎么办 不知道自己想要做什么工作怎么办 三星note4微信出现闪退怎么办 魅蓝note6手机自动闪退怎么办 苹果6s系统内存占用量过大怎么办 想在一年通过会计初级和中级怎么办 特殊岗位退休档察写的力工怎么办 面试时期望工资说低了。怎么办 面试时期望薪资写低了怎么办 高考后比一模差了80分怎么办 戒了烟我不习惯没有你我怎么办 没有你我不习惯没有你我怎么办 做什么都没兴趣嫌麻烦怎么办 快递还在路上就确认收货了怎么办 微信显示时间与手机不符怎么办 微信提示银行卡预留手机不符怎么办 得了湿疹后吃了海鲜严重了怎么办 看到小区街道乱扔的垃圾你会怎么办 去韩国干服务员不会讲韩语怎么办 华为手机键盘变英文字母大了怎么办 淘宝申请售后卖家余额不足怎么办 发票名称少写了一个字怎么办 微博数量与实际数量不一致怎么办 在淘宝中要买的商品卖完了怎么办 病因写错了保险不报销怎么办? 上学期间保险名字写错了怎么办