欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何從零開始搭建自動(dòng)部署docker環(huán)境

本篇文章給大家分享的是有關(guān)如何從零開始搭建自動(dòng)部署docker環(huán)境,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

豐順網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,豐順網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為豐順成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的豐順做網(wǎng)站的公司定做!

從0開始搭建自動(dòng)部署環(huán)境

前言

從Docker改變使用動(dòng)態(tài)庫后,DooD不再可行,而Dind依然可行。針對此改變,重新整理并記錄自動(dòng)部署環(huán)境配置步驟。

此環(huán)境是實(shí)現(xiàn)微服務(wù)自動(dòng)部署的基礎(chǔ),使用jenkins持續(xù)集成工具,并內(nèi)置了java和maven,并實(shí)現(xiàn)了容器內(nèi)運(yùn)行Docker命令的功能。

軟件環(huán)境

  • 宿主機(jī)win10

  • 虛擬機(jī)CentOS-7-x86_64-Minimal-1708

  • Docker 17.09.0-ce

  • apache-maven-3.5.2

  • jdk 1.8.0_151

  • jenkins 2.73.3

虛擬機(jī)安裝配置

1. 安裝Docker

參考官方教程Get Docker CE for CentOS 可選項(xiàng):更換源。官方源下載Docker可能很慢,更換成國內(nèi)的Docker源,比如阿里云的Docker源https://download.docker.com/linux/centos/docker-ce.repo

2. 啟動(dòng)Docker并設(shè)置開機(jī)自啟

$ sudo service docker start
$ sudo chkconfig docker on

3. 更換Docker鏡像源

從Docker官方源下載鏡像可能很慢,更換成阿里云的源即可。阿里云專屬加速器地址。教程照搬一下,方便查閱。

安裝/升級你的Docker客戶端

推薦安裝1.10.0以上版本的Docker客戶端,參考文檔 docker-ce

如何配置鏡像加速器
針對Docker客戶端版本大于1.10.0的用戶

您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://a2srrwpd.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

容器安裝配置

1. 創(chuàng)建Dockerfile

該Dockerfile已實(shí)現(xiàn):

  1. 安裝openjdk1.8、maven、jenkins、git

  2. maven配置阿里云鏡像源

  3. jenkins自啟

  4. 時(shí)區(qū)調(diào)整成中國上海

Dockerfile內(nèi)容如下:

FROM centos:centos7.4.1708

MAINTAINER "Simon Sun"<simon.sun.dev@hotmail.com>

ADD http://www-us.apache.org/dist/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz /opt

USER root

RUN tar -zxvf /opt/apache-maven-3.5.2-bin.tar.gz -C /opt \
&& yum install -y wget \
&& yum install -y initscripts \
&& yum install -y sudo \
&& yum install -y java-1.8.0-openjdk \
&& yum install -y java-1.8.0-openjdk-devel \
&& yum install -y git

# install jenkins
RUN wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo \
&& rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key \
&& yum install -y jenkins

# install docker with aliyun mirror source
RUN yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2 \
&& yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo \
&& yum-config-manager --disable docker-ce-edge \
&& yum install -y docker-ce

RUN chmod a+x /opt/apache-maven-3.5.2/bin/mvn

# add user jenkins and add user jenkins to group docker
# set root password to root
RUN echo "jenkins ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers \
&& gpasswd -a jenkins docker \
&& echo "root:root" | chpasswd

ENV JAVA_HOME /usr/lib/jvm/java
ENV PATH $JAVA_HOME/bin:$PATH
ENV MAVEN_HOME /opt/apache-maven-3.5.2
ENV PATH $MAVEN_HOME/bin:$PATH

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# add aliyun maven mirror source
RUN sed -i '/<\/mirrors>/i\<mirror>\n  <id>nexus-aliyun<\/id>\n  <mirrorOf>central<\/mirrorOf>\n  <name>Nexus aliyun<\/name>\n  <url>http://maven.aliyun.com/nexus/content/groups/public<\/url>\n<\/mirror>' /opt/apache-maven-3.5.2/conf/settings.xml

USER jenkins

CMD sudo service jenkins start && tail -F /var/log/jenkins/jenkins.log

2. 編譯Dockerfile

docker build -t jeesun/java-jenkins .

3. 啟動(dòng)容器

docker run --privileged -i -t -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 jeesun/java-jenkins

此時(shí)我已經(jīng)使用jenkins賬戶登錄到容器中,根據(jù)Dockerfile,此時(shí)jenkins已經(jīng)自啟,且目前正在運(yùn)行命令tail -F /var/log/jenkins/jenkins.log

  1. Ctrl+P+Q退出bash。命令Ctrl+P+Q保證退出容器不關(guān)閉容器。

  2. 訪問http://localhost:8080。當(dāng)然,因?yàn)槲已b的是minimal版的CentOS,沒有圖形界面,只能在宿主機(jī)上通過http://虛擬機(jī)ip:8080來訪問。可使用命令ip addr查看虛擬機(jī)ip地址。

  3. 使用docker ps查看CONTAINER ID。

  4. 使用docker exec -it container_id /bin/bash進(jìn)入容器。

  5. 首次訪問該地址需要使用/var/lib/jenkins/secrets/initialAdminPassword中的初始管理員密碼來解鎖jenkins。 執(zhí)行cat /var/lib/jenkins/secrets/initialAdminPassword就可以知道密碼了。

  6. 按照頁面指示繼續(xù),jenkins會(huì)推薦下載一些插件。我默認(rèn)都安裝了。如果安裝失敗重試即可。然后就是填入新的管理員賬號(hào)密碼。完成后正式進(jìn)入jenkins管理頁面。

5. 測試

選擇新建,填入項(xiàng)目名稱,選擇構(gòu)建一個(gè)自由風(fēng)格的軟件項(xiàng)目。 構(gòu)建——》增加構(gòu)建步驟——》Execute shell——》填入docker run hello-world——》保存。選擇立即構(gòu)建。如果不報(bào)錯(cuò),氣球?yàn)樗{(lán)色,說明成功。

6.自動(dòng)部署

從0開始搭建自動(dòng)部署環(huán)境(續(xù))

報(bào)錯(cuò)解決

1. 錯(cuò)誤1

錯(cuò)誤內(nèi)容
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.34/version: dial unix /var/run/docker.sock: connect: permission denied
解決方案
  1. 優(yōu)先參考官方Manage Docker as a non-root user。

  2. 關(guān)閉虛擬機(jī)的selinux(可能有用)。參考查看 SELinux狀態(tài)及關(guān)閉SELinux。

  3. 在虛擬機(jī)中修改/var/run/docker.sock的權(quán)限。(很危險(xiǎn)!!!)

$ sudo chmod 777 /var/run/docker.sock

2. 錯(cuò)誤2

錯(cuò)誤內(nèi)容
Failed to get D-Bus connection: Operation not permitted
解決方案

忽略。

3. 錯(cuò)誤3

錯(cuò)誤內(nèi)容
Couldn't connect to Docker daemon at http+unix://var/run/docker.sock - is it running?
解決方案

權(quán)限問題。解決辦法同錯(cuò)誤1。

以上就是如何從零開始搭建自動(dòng)部署docker環(huán)境,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁題目:如何從零開始搭建自動(dòng)部署docker環(huán)境
文章出自:http://www.chinadenli.net/article48/ishjhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版營銷型網(wǎng)站建設(shè)小程序開發(fā)虛擬主機(jī)網(wǎng)站排名品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)