1. 程式人生 > >使用Docker搭建開發環境,包括(nginx,redis,mysql,gitlab,nexus3,activemq,jenkins)

使用Docker搭建開發環境,包括(nginx,redis,mysql,gitlab,nexus3,activemq,jenkins)

使用Docker搭建開發環境

自從玩了Docker,深深的被Docker迷住,做了這麼多年軟體,都沒想到軟體會發展到這種階段,使用容器隔離技術,將各個服務程序隔離。

記錄一下自己為新成立的部門使用Docker搭建開發環境的過程,這裡只是簡粗暴的記錄下執行命令,方便以後review,等有時間了,再詳細介紹。

nginx

mkdir -p /apps/nginx/www /apps/nginx/logs /apps/nginx/conf
docker pull nginx
docker run -p 80:80 --name nginx -v /apps/nginx/www:/www -v /apps/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /apps/nginx/logs:/etc/nginx/logs -d nginx

redis

mkdir -p /apps/redis/data
#寫入redis預設配置
vim /apps/redis/redis.conf

docker pull redis
docker run -p 6379:6379 -v /apps/redis/data:/data -v /apps/redis/redis.conf:/etc/redis.conf -d --name redis redis redis-server /etc/redis.conf
docker exec -it redis redis-cli

mysql

 mkdir -p /apps/mysql/data /apps/mysql/logs /apps/mysql/conf
 docker pull mysql:5.7
 docker run -p 3306:3306 --name mysql -v /apps/mysql/conf:/etc/mysql/conf.d -v /apps/mysql/logs:/logs -v /apps/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

 docker exec -it mysql mysql -u root -p123456
 grant all privileges on *.* to 
[email protected]
'%' identified by '123456'; flush privileges;

gitlab

mkdir -p /apps/gitlab/config /apps/gitlab/logs /apps/gitlab/data
docker pull gitlab/gitlab-ce
docker run -d -h gitlab -p 9001:443 -p 80:80  -p 9002:22 --name gitlab --restart always \
-v /apps/gitlab/config:/etc/gitlab \
-v /apps/gitlab/logs:/var/log/gitlab \
-v /apps/gitlab/data:/var/opt/gitlab \
docker.io/gitlab/gitlab-ce

nexus3

mkdir -p /apps/nexus
chown 200 /apps/nexus
docker pull sonatype/nexus3
docker run -d -p 9004:8081 --name nexus --privileged -v /apps/nexus:/nexus-data sonatype/nexus3

activemq

mkdir -p /apps/activemq/data /apps/activemq/logs /apps/activemq/conf 
docker pull webcenter/activemq
docker run --name='activemq' -d \
    -e 'ACTIVEMQ_CONFIG_DEFAULTACCOUNT=false' \
    -e 'ACTIVEMQ_ADMIN_LOGIN=admin' -e 'ACTIVEMQ_ADMIN_PASSWORD=admin123' \
    -e 'ACTIVEMQ_CONFIG_MINMEMORY=512' -e  'ACTIVEMQ_CONFIG_MAXMEMORY=1536' \
    -v /apps/activemq/data:/data \
    -v /apps/activemq/logs:/var/log/activemq \
    -p 9005:8161 \
    -p 9006:61616 \
    -p 9007:61613 \
    webcenter/activemq

jenkins

mkdir -p /apps/jenkins
docker pull jenkins/jenkins:lts
docker run -p 9010:8080 -p 9011:50000 -v /apps/jenkins:/var/jenkins_home --name jenkins -d -u root -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai jenkins/jenkins:lts

#調整時區
docker exec -it jenkins /bin/bash
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    echo 'Asia/Shanghai'>/etc/timezone
    exit

docker restart jenkins

mongodb

mkdir -p /apps/mongodb/data /apps/mongodb/backup
docker pull mongo
docker run --name mongodb -p 30017:27017 -v /apps/mongodb/data:/data/db -v /apps/mongodb/backup:/data/backup -d mongo --auth

docker exec -it mongo mongo admin
    db.createUser({ user: 'admin', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
    db.auth("admin","123456");

docker exec mongo sh -c 'exec var=`date +%Y%m%d%H%M` && mongodump -h localhost --port 27017 -u jsmith -p password -d dbname -o /data/backup/$var_test1.dat'

oracle

注意將selinux關掉,不然例項啟動失敗
修改/etc/selinux/config檔案,設定為disable

SELINUX=disable

docker pull wnameless/oracle-xe-11g:18.04
docker run --name oracle -d -p 9012:8080 -p 9013:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g:18.04
username: ADMIN
password: admin

例項資訊

hostname: localhost
port: 9013
sid: xe
username: system/sys
password: oracle

ftpserver

mkdir -p /apps/ftpserver/files /apps/ftpserver/passwd
chmod u+x /apps/ftpserver/files

docker run -d --name ftpserver \
--privileged=true \
-p 9014:21 -p 30000-30009:30000-30009 \
-v /apps/ftpserver/files:/home/bob \
-v /apps/ftpserver/passwd:/etc/pure-ftpd/passwd \
-e PUBLICHOST=xxx.xxx.xxx.xxx \
-e FTP_USER_NAME=ftpuser \
-e FTP_USER_PASS=your_pwd \
stilliard/pure-ftpd:hardened

PUBLICHOST配置為FTP Server的外網訪問IP

相關推薦

使用Docker搭建開發環境包括nginx,redis,mysql,gitlab,nexus3,activemq,jenkins

使用Docker搭建開發環境 自從玩了Docker,深深的被Docker迷住,做了這麼多年軟體,都沒想到軟體會發展到這種階段,使用容器隔離技術,將各個服務程序隔離。 記錄一下自己為新成立的部門使用Docker搭建開發環境的過程,這裡只是簡粗暴的記錄下執行命令

使用docker搭建開發環境

我的主力機是windows,windows下面有太多提升效率的軟體.但是開發的時候不得不使用linux.就單單開發而言.我還是喜歡使用linux.所以就造成了我得在windows下面使用虛擬機器.這是最開始的辦法.後面得知有vagrant這個東西之後,用了一陣子感覺還不錯.但

docker搭建開發環境模板

個人習慣用的辦公環境還是windows,資源還是比較豐富。但又需要考慮linux的開發環境。 考慮到docker容器比虛擬機器有太多的優勢。服務秒開,資源佔用低,分發簡單。建立多個虛擬機器開銷太大,所以在windows中用vmware建立了centos7的虛擬機器,然後在c

Docker 搭建開發環境

本文介紹如何將Docker整合到開發環境,自動構建應用,並使容器擁有獨立的內網IP為開發人員提供服務。 術語解釋 Docker映象:一個不可修改的"模板",每個程式碼版本對應一個映象版本,本身不可執行。 Docker容器:映象的"例項",必須且只能指定一個"映象"來建立容器

混合開發(Hybrid App)之 Ionic【一】-- 認識Ionic搭建開發環境建立專案

寫在前面 目前市面存在的移動開發方式有原生應用、混合應用、原生應用三種,對於這種方式可以做以下對比。      認識ionic ionic 是一個用來開發混合手機應用的,開源的,免費的程式碼庫,具有以下特點。 1.ionic 基於Angular語法,簡單易學。 2.io

Docker搭建disconf環境三部曲之三:細說搭建過程

Docker下的disconf實戰全文連結 《Docker搭建disconf環境,三部曲之一:極速搭建disconf》; 《Docker搭建disconf環境,三部曲之二:本地快速構建disconf映象》; 《Docker搭建disconf環境,三部曲之三:細說搭建過程》; 《Docker下使用discon

EOS Dapp開發1-基於Docker開發環境搭建

rbo err 通過命令 plugin cat cti nec docker 反饋 隨著EOS主網的上線,相信基於EOS的Dapp開發會越來越多,查閱了很多資料相關的開發資料都不是很多,只能自己摸索,按照網上僅有的幾篇教程,先git clonehttps://github.

零基礎新手的Python入門實戰寶典 —— 從哪裡開始?搭建Python開發環境Python + Pycharm

如果你之前看過其他教程,但是發現雲裡霧裡複雜的讓你頭暈眼花的話,沒錯,看這裡,本系列Python教程專為啥都不會的新手使用者打造,放寬心,大膽看,我就是說說書,你就當聽聽故事,輕鬆愉快走進程式設計的大門,“程式設計”不再神祕也不再遙不可及。只要你會最基本的電腦操

Docker搭建開發環境執行Eclipse等圖形化介面程式

Docker搭建開發環境 基本說明 兩個月前的時候自己提出想通過Docker來搭建開發環境(http://blog.csdn.net/zhaodedong/article/details/46549279),能方便地供實驗室的其他同學使用。我所謂的開發環

學習筆記------搭建Eclipse開發環境開發MapReduce程序

學習 安裝部署 構建 clip src mapr 開發環境 mapreduce .com 一、JDK安裝配置 二、安裝部署Eclipse開發環境 三、構建MapReduce項目 學習筆記(四)------搭建Eclipse開發環境

Linux程序設計搭建開發環境--curses

包名 monit con 發現 dsm pop 依賴關系 當前 term 看官們。咱們今天要說的內容。是前面內容的一點小補充,詳細的內容是:安裝curses開發包。以搭建 開發環境。閑話休說,言歸正轉。 我們在前面說過搭建開發環境的內容,主要說了

python分布式爬蟲搭建開發環境

back col 性能 16px 動態網頁 網頁 ebs {} 常見類 scrapy 優勢: resquests和Beautifulsoup都是庫,scrapy是框架 scrapy框架可以加入前兩項 scrapy基於twisted,性能是最大的優勢 scrapy方便擴展,

angular4的多環境測試環境開發環境生產環境

mage gpo 多環境 png div info 環境 生產環境 AR 使生成項目可以多環境運行(測試環境與開發環境,生產環境) 這裏對應的是不同的運行環境,隨時通過上面的方式進行切換 同樣著也可以用在部署環境上面、、這個表式編譯生成生產環境的微信號

使用docker高效搭建開發環境

搭建開發環境 docker 作為一個平時喜歡折騰的開發人員,我喜歡嘗試各種環境,使用感興趣的各種開源軟件。同時,我也是有一些相對的小潔癖,很喜歡linux中權限最小化原則,我也不喜歡自己的環境中有太多不知道的東西。做了多年的web開發,我接觸到的環境大致如下:操作系統從centos5到centos7;

搭建lnmp環境nginx的配置文件/etc/nginx/nginx.conf

ati ces sse keep eve out http ali nec #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #e

[step by step]利用docker搭建Tensorflow環境tensorboard + tensorflow+gpu

前言 本篇文章搭建環境的作業系統是ubuntu14,windows搭建docker的方式與ubuntu有所區別,win的使用者可以點選原文中的參考連線進行docker的搭建。掛載tensorboard的方法是一樣的,可供大家參考 搭建docker 官方文件 https://do

手把手教你搭建React Native 開發環境 - ios篇 React [email&#

由於之前我是h5的,沒接觸過ios和安卓, 也不瞭解xcode配置,所以 建議學reace-native之前還是先去了解一下ios和安卓開發環境搭建等問題。 環境下載及配置 nodejs:https://nodejs.org/en/download/ 設定淘寶映象 $ npm con

虛擬機器安裝Oracle WebCenter Sites 12c 搭建安裝環境安裝虛擬機器

       因為工作原因需要我在虛擬機器上安裝 Oracle Webcenter 12C ,百度上找了很多資料,自己第一次研究安裝,安裝過程中有很多麻煩,為了防止自己以後忘記,也能為了幫助別人,特意記錄下來,希望能有所幫助,記得點贊。 安裝 Oracle

Linux下搭建PHP開發環境Php-Fpm程序管理。

目前PHP專案開發幾種比較流行的架構搭建中,LNMP在效能方面是最好的,正因為如此,使得LNMP架構逐漸流行起來,今天,前面提到了Nginx部署,由於專案實際環境的需要,今天就在說一下怎麼部署PHP。 環境 CentOS 6.3 PHP 5.6 安裝步驟 1. 下載並安裝P

海思Hi3519A初體驗升級DEMO板開發環境更新CPU主頻

拿到手的3519A demo板已經燒好了uboot,沒有核心和檔案系統,同時uboot也不是最新的。 所以需要先升級demo版的開發環境,即燒寫 uboot、kernel、fs,這部分按照手冊操作即可。 這裡需要提一下,板子自帶的uboot,CPU主頻是1200MHz,最新版已經支援1500