(企業Docker實戰) 第二篇:拉取和部署常用服務器

一、 搭建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
讓我們一起進步!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章