文章目錄
一、 搭建gitlab
參考:https://github.com/sameersbn/docker-gitlab
1. 下載並運行gitlab所需要的redis
docker run --name gitlab-redis -d \
--volume /srv/docker/gitlab/redis:/var/lib/redis \
sameersbn/redis:4.0.9-1
- –volume:目錄映射會用到 將宿主機目錄映射到容器中的目錄,簡寫爲-v --volume等於-v
- –name:容器的名字,作爲唯一標識
2. 下載並運行gitlab所需要的postgresql(注意密碼填寫自己的)
docker run --name gitlab-postgresql -d \
--env 'DB_NAME=gitlabhq_production' \
--env 'DB_USER=gitlab' --env 'DB_PASS=root' \
--env 'DB_EXTENSION=pg_trgm' \
--volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \
sameersbn/postgresql:10
- –env :定義系統變量 簡寫 -e
3. 下載並運行gitlab
注意修改密鑰,端口可以自定義,改冒號左邊的
注意修改gitlab安裝的ip地址或者域名都可以
第一種:ip地址
docker run --name gitlab -d \
--link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
--publish 10022:22 --publish 80:80 \
--env 'GITLAB_PORT=80' --env 'GITLAB_SSH_PORT=10022' \
--env 'GITLAB_SECRETS_DB_KEY_BASE=3XF54I6fq7XlImngIVZ1lnX0BszOTXg' \
--env 'GITLAB_SECRETS_SECRET_KEY_BASE=7aGqb3xx2tPNoaoRBH4u61qJbfUxeMp' \
--env 'GITLAB_SECRETS_OTP_KEY_BASE=KcWvgY0aizUwKbTMhgQhpjDoxdUOO6y' \
--env 'GITLAB_HOST=192.168.182.131' \
--env 'GITLAB_BACKUP_SCHEDULE=daily' --env 'GITLAB_BACKUP_TIME=03:00'\
--volume /srv/docker/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:11.2.3
第二種:域名
也可以是域名,前提是ip和網絡已經進行映射或者說解析(hosts文件 配置即可)
docker run --name gitlab -d \
--link gitlab-postgresql:postgresql --link gitlab-redis:redisio \
--publish 10022:22 --publish 80:80 \
--env 'GITLAB_PORT=80' --env 'GITLAB_SSH_PORT=10022' \
--env 'GITLAB_SECRETS_DB_KEY_BASE=3XF54I6fq7XlImngIVZ1lnX0BszOTXg' \
--env 'GITLAB_SECRETS_SECRET_KEY_BASE=7aGqb3xx2tPNoaoRBH4u61qJbfUxeMp' \
--env 'GITLAB_SECRETS_OTP_KEY_BASE=KcWvgY0aizUwKbTMhgQhpjDoxdUOO6y' \
--env 'GITLAB_HOST=gblfy.com' \
--env 'GITLAB_BACKUP_SCHEDULE=daily' --env 'GITLAB_BACKUP_TIME=03:00'\
--volume /srv/docker/gitlab/gitlab:/home/git/data \
sameersbn/gitlab:11.2.3
- –link:容器互聯 也就是當執行docker run,拉取鏡像並運行gitlab容器,通過 --link 互聯到剛纔啓動的2個容器
- –publish:端口映射用的 簡寫-p 將宿主機的端口號映射到容器內部的容器端口,進行綁定
- –volume:目錄映射 宿主機上的目錄映射容器內部目錄
瀏覽器測試驗證:
http://192.168.182.131
地址:http://192.168.182.131:80
默認就是80端口,因此可以省略
需要重新設置密碼頁面:
登錄頁面:
gitlab主頁面:
二、 搭建mysql
1. 創建mysql的配置文件
mkdir -p /srv/mysql/conf /srv/mysql/logs /srv/mysql/data
2. 創建mysql配置/srv/mysql/conf/custom.cnf
vi /srv/mysql/conf/custom.cnf
[mysqld]
max_allowed_packet=20M
lower_case_table_names=1
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
3. 下載並安裝mysql 5.7(注意修改密碼)
docker run -p 3306:3306 --name mysql \
-v /srv/mysql/conf:/etc/mysql/conf.d \
-v /srv/mysql/logs:/logs \
-v /srv/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
遠程連接測試:
三、 搭建redis
docker run --name redis -d --publish 6379:6379 redis:4.0
遠程驗證測試:
四、搭建nexus私服
1. 安裝nexus3(admin/admin123)
#創建文件夾,安裝過程如果報錯,則設置此文件夾權限777
mkdir -p /srv/nexus/data
- 安裝nexus3
sudo docker run -d -p 8081:8081 --name nexus3 \
-v /srv/nexus/data:/nexus-data \
sonatype/nexus3
docker run -d -p 8081:8081 --name nexus3 -v /srv/nexus/data:/nexus-data --restart=always sonatype/nexus3
訪問瀏覽器:
給文件夾賦予權限即可
chmod -R 777 nexus/
查看容器啓動日誌:
docker logs [容器名/容器ID]
docker logs cb95fed12e06
登錄nexus3:
賬號:admin
密碼:admin123
2 .配置nexus3
2.1 新建一個maven2(proxy)倉庫
- 用於代理阿里雲的倉庫,阿里雲倉庫地址爲:
其他設置保持默認,
http://maven.aliyun.com/nexus/content/groups/public/
2.2. 新建一個maven2(hosted)倉庫
- 用於存放公司內部的jar包
2.3. 配置public倉庫
- 新增加阿里雲倉庫和公司內部倉庫,並且把順序調整爲先公司內部倉庫,再阿里雲代理倉庫,再其他
倉庫地址:http://192.168.182.131:8081/repository/company-repo/
五 、安裝kafka和kafka manager
5.1. 安裝kafka
5.1.1. 創建目錄
mkdir -p /srv/kafka
5.1.2. 編寫/srv/kafka/docker-compose.yml
- (注意修改host name地址)
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 172.18.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
修改IP地址:
5.1.3. 後臺啓動docker-compse
建議進入制訂目錄下面,執行命令:
docker-compose up -d
5.2. 安裝kafka-manager
#注意修改zk地址,賬號和密碼
docker run -d -p 9000:9000 -e ZK_HOSTS="192.168.182.131:2181" \
-e APPLICATION_SECRET=letmein \
-e KM_USERNAME=admin -e KM_PASSWORD=admin \
sheepkiller/kafka-manager
瀏覽器驗證:http://192.168.182.131:9000/
賬號:admin
密碼:admin
想學習更多微服務、分佈式、中間件、數據庫、項目快速構建等系列技術
請訪問http://gblfy.com
讓我們一起進步!!!