Docker常用鏡像安裝:MySql Redis GitLab maven私服等

學習Docker的過程就是安裝各種鏡像、環境搭建的過程。下面是常用Docker公共鏡像的安裝方式,記錄下來,環境收藏~

Docker常用鏡像安裝:MySql Redis GitLab maven私服等

一、安裝Mysql

1.創建mysql

下載鏡像:

<code>docker pull centos/mysql-57-centos7/<code>

創建容器:

<code>docker run -di --name=mysql --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7/<code>

二、創建redis

下載鏡像:

<code>docker pull redis/<code>

創建容器

<code>docker run -di --name=redis --restart=always -p 6379:6379 -e requirepass=123456 redis/<code>

三、創建mongodb

下載鏡像:

<code>docker pull mongo/<code>

創建容器:

<code>docker run -di --name=tensquare_mongo --restart=always -p 27017:27017 mongo/<code>

四、創建nexus倉庫

nexus是maven、npm的私服倉庫軟件,在企業內部可以使用此係統安裝私服,防止因網絡緩慢、及其他問題導致的包無法下載問題。自己公司內的包可以上傳至此倉庫,配合使用。

下載鏡像:

<code>docker pull sonatype/nexus3/<code>

創建容器:

<code>docker run -di --name nexus3 \\
--restart=always \\
-p 8081:8081 \\
-p 8082:8082 \\
-p 8083:8083 \\
-p 8084:8084 \\
-p 8085:8085 \\
-v /opt/nexus-data:/nexus-data \\
sonatype/nexus3/<code>

錯誤處理:

<code>mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied/<code>
<code>chown -R 200 /opt/nexus-data//<code>
Docker常用鏡像安裝:MySql Redis GitLab maven私服等

五、安裝easy-mock

easy-mock是接口模擬工具,供前端開發使用。擺脫了後端接口未完成的情況。

下載鏡像

<code>docker pull blackcater/easy-moc/<code>

創建容器

<code>docker run -d -p 7300:7300 --link mongodb:mongodb -v /opt/mock-config/:/easy-mock/config --name easymock blackcater/easy-mock
/<code>

六、安裝docker-compose

<code>curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
/<code>

七、安裝easy-mock

<code>docker-compose up -d/<code>

八、安裝gogs

下載鏡像

<code>docker pull gogs/gogs
/<code>

創建存儲目錄

<code>mkdir -p /var/gogs/<code>

創建容器

<code>docker run -di --name=gogs --restart=always -p 10022:22 -p 3000:3000 -v /var/gogs:/data gogs/gogs
/<code>

重新安裝時記得刪除/var/gogs下文件,並賦予權限

http_port 改為3000 ,root_url改為dominIP:3080

九、安裝GitLab

下載鏡像

<code>docker pull docker.io/gitlab/gitlab-ce
/<code>

創建容器

<code>docker run -d -h gitlab --restart=always -p 2222:22 -p 18001:80 -p 8443:443 -v /docker/gitlab/config:/etc/gitlab -v /docker/gitlab/logs:/var/log/gitlab -v /docker/gitlab/data:/var/opt/gitlab --restart always --name gitlab gitlab/gitlab-ce:latest

密碼123456789
/<code>

十、安裝內部郵件系統

拉取鏡像

<code>docker pull bestwu/ewomail/<code>

創建容器:

<code> docker run  -d -h mail.zdpx.com --restart=always   -p 25:25   -p 109:109   -p 110:110   -p 143:143   -p 465:465   -p 587:587   -p 993:993   -p 995:995    -p 18002:80   -p 18003:8080   -v `pwd`/mysql/:/ewomail/mysql/data/   -v `pwd`/vmail/:/ewomail/mail/   -v `pwd`/ssl/certs/:/etc/ssl/certs/   -v `pwd`/ssl/private/:/etc/ssl/private/   -v `pwd`/rainloop:/ewomail/www/rainloop/data   -v `pwd`/ssl/dkim/:/ewomail/dkim/   --name ewomail bestwu/ewomailserver
/<code>

默認管理用戶名:admin ewomail123

郵箱管理後臺http://192.168.4.188:18003 賬號 admin 密碼 ewomail123

接收不到郵件解決辦法

有效於錯誤日誌報10024端口錯誤

錯誤原因:10024端口跑的服務主要用於ewomail中反垃圾反病毒作用,然而docker鏡像中沒有集成,所以會無法接收到郵件。

  1. 註釋/etc/postfix/main.cf中的
<code>content_filter = smtp-amavis:[127.0.0.1]:10024

receive_override_options = no_address_mappings/<code>

十一、容器搭建DNS服務器

拉取鏡像:

<code>docker pull sameersbn/bind/<code>

創建容器:

<code>docker run --name bind -d --restart=always --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp --volume /srv/docker/bind:/data sameersbn/bind:latest/<code>

登錄賬戶密碼:root/password

十二:搭建nginx服務器

Docker常用鏡像安裝:MySql Redis GitLab maven私服等

拉取鏡像

<code>docker pull nginx/<code>

創建容器

<code>docker run -d -p 80:80 --restart=always --name nginx nginx/<code>

拷貝配置:

<code>docker cp -a nginx:/etc/nginx/ /docker/nginx/conf
/<code>

停止並重啟

<code>docker stop nginx
docker rm nginx/<code>

重新運行掛載

<code>docker run -p 80:80 --restart always --name nginx -v /docker/nginx/www:/www -v /docker/nginx/conf:/etc/nginx/ -v /docker/nginx/logs:/var/log/nginx -v /docker/nginx/wwwlogs:/wwwlogs -d nginx/<code>

重啟

<code>docker restart nginx/<code>

十三、關閉防火牆

<code>systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啟動/<code>

十四、創建私有倉庫

拉取鏡像

<code>docker pull registry/<code>

創建容器

<code>docker run -di --restart=always --name=registry -p 5000:5000 registry/<code>

十五、創建jenkins

拉取鏡像

<code>docker pull jenkins/<code>

創建容器

<code>docker run -d -p 18005:8080 -v /docker/jenkins:/var/jenkins_home --name jenkins --restart=always jenkins

docker run --name jenkins --user=root -p 18005:8080 -p 50000:50000 -v /docker/jenkins:/var/jenkins_home -d jenkins/jenkins:lts
/<code>

jenkins換源:

以上的配置Json其實在Jenkins的工作目錄中

<code>$ cd {你的Jenkins工作目錄}/updates  #進入更新配置位置/<code>
<code>$ vim default.json   #這個Json文件與上邊的配置文件是相同的/<code>

使用vim的命令,如下,替換所有插件下載的url

<code>將文件中所有,
http://updates.jenkins-ci.org/download/
替換為
https://mirrors.tuna.tsinghua.edu.cn/jenkins/g/<code>
<code>http://www.google.com/
替換為:
https://www.baidu.com//<code>

十六、安裝tomcat

拉取鏡像

<code>docker pull tomcat/<code>

創建容器

<code>docker run -d --restart=always -v /docker/tomcat:/usr/local/tomcat/webapps --name=tomcat -p 18006:8080 tomcat/<code> 

十七、安裝oracle

拉取鏡像

<code>docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g/<code>

創建容器

<code>#啟動啟動容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

docker start oracle11g/<code>

創建軟鏈接

<code>docker exec -it oracle11g bash/<code>

切換到root 用戶下

<code>su root

密碼:helowin/<code>

編輯profile文件配置ORACLE環境變量

<code>export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

export ORACLE_SID=helowin

export PATH=$ORACLE_HOME/bin:$PATH/<code>

創建軟連接

​ ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

切換到oracle 用戶

​ 這裡還要說一下,一定要寫中間的內條 - 必須要,否則軟連接無效

<code>su - oracle/<code>

登錄修改密碼:

<code>sqlplus /nolog

conn /as sysdba

alter user system identified by system;

alter user sys identified by sys;

也可以創建用戶  create user test identified by test;

並給用戶賦予權限  grant connect,resource,dba to test;

alter database mount;

#刷新下表
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
/<code>

服務名:

helowinXDB

端口號1521

添加模式:

<code>create user 用戶名 identified by 口令[即密碼];/<code>

十八、YAPI環境搭建

創建volume

<code>docker volume create yapi-mongo/<code>

創建一個儲存卷,用來專門存放yapi使用的mongodb的數據

為什麼要獨立出來,這是為了以後升級的著想,數據庫保留,只要啟動的時候關聯一下就行了


啟動mongodb

<code>docker run -d --name yapi-mongo -v yapi-mongo:/data/db -p 27017:27017 mongo/<code>

初始化Yapi和啟動Yapi

<code>docker run -d --name yapi -p 3000:3000 --link yapi-mongo crper/yapi/<code>

這裡比上面多的一個參數就是--link,用來使連個容器通訊的,

過程均可用docker logs 查看初始化的管理用戶用戶名密碼


分享到:


相關文章: