91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker環境怎么搭建

發布時間:2022-05-20 14:51:39 來源:億速云 閱讀:228 作者:iii 欄目:大數據

這篇文章主要介紹“Docker環境怎么搭建”,在日常操作中,相信很多人在Docker環境怎么搭建問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker環境怎么搭建”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、環境準備

我個人的測試環境為virtualbox,centos7及最新版本的spring boot。首先以最小化方式安裝centos: 

Docker環境怎么搭建

Docker環境怎么搭建

推薦在安裝階段就默認打開網絡鏈接...接下來等待20分鐘虛擬機安裝完畢

Docker環境怎么搭建

由于是最小化安裝,完成以后推薦安裝幾條基礎命令:

1. yum update

2. yum install -y net-tools vim curl wget

以上測試環境就算搭建完成,以下開始安裝docker。我們進入官方網站,他們已經很貼心的為我們準備好了安裝教程。目前我可以登陸docker的官方網站,并且基于centos的安裝說明在這里也可以查看。不過為了以防萬一,我在博客中還是記錄一下如果你發現無法訪問或閱讀英文有些困難直接跟著下面的流程走即可:

1. 卸載系統中的早期版本

$ sudo yum remove docker \
     docker-client \
     docker-client-latest \
     docker-common \
     docker-latest \
     docker-latest-logrotate \
     docker-logrotate \
     docker-selinux \
     docker-engine-selinux \
     docker-engine

2. 安裝工具

$ sudo yum install -y yum-utils \
 device-mapper-persistent-data \
 lvm2

3. 配置docker的安裝yum原

$ sudo yum-config-manager \
 --add-repo \
 https://download.docker.com/linux/centos/docker-ce.repo

4. 安裝docker ce

$ sudo yum install docker-ce

5. 啟動docker

$ sudo systemctl start docker

6. 運行hello world

$ sudo docker run hello-world

Docker環境怎么搭建

7. 配置國內的鏡像加速

curl -ssl  | sh -s

二、操作指南

網上有關docker的命令有很多,詳細的說明各位可以去更權威的地方查閱。這里我只列舉幾條最重要的命令并加以說明:

1. 查閱鏡像列表:docker images

Docker環境怎么搭建

你應該不會有這么多鏡像,但是至少應該存在一條hello-world。沒錯這就是你剛剛下載的測試鏡像。

2. 查閱容器列表:docker ps -a

Docker環境怎么搭建

你應該也只會看到一條hello-world的容器。

這里我們已經接觸到了有關docker的第一個重要概念:鏡像和容器。不過暫時我還不打算對這兩個概念加以說明,我們可以反復運行

$ sudo docker run hello-world

然后再查看容器列表:

Docker環境怎么搭建

沒錯,你現在發現多次運行同一個鏡像只會發生一次鏡像下載,但是卻會出現多個容器。更準確的說,你運行了幾次hello-world就會生成幾個容器。

3. 停止和刪除容器:docker stop/rm [container_id]

我們刪除掉所有hello-world容器,瞬間整個世界變的美好了。

4. 刪除鏡像:docker rmi [image_id]

我們刪除掉hello-world鏡像,世界終于又歸于寂靜。

有了感性認識以后,現在可以說明鏡像和容器的概念:

鏡像就好像是iso文件,docker需要使用鏡像作為源。一個鏡像可以反復被使用,而每次當docker通過鏡像啟動起來的就是一個容器,容器之間相互隔離。如果容器被刪除了,在容器中的所有改變都會丟失。

用一張最經典的圖來表示鏡像與容器的關系:

Docker環境怎么搭建

沒錯,一個完整的docker項目就應該是這樣,在本地系統(boosfs)之上可能存在多個鏡像(image)它們之間存在繼承關系,而最上層處于運行環境的就是容器(container)。所有的修改操作都只在容器中。如果容器被關閉數據會發生丟失,除非你將容器刻錄為新的鏡像層。不過我們還有別的更好的手段將數據保存下來,但不在我們今天的討論中。

5. 獲取鏡像:docker pull [image_name]

**********************************************

請確認你已經配置了國內的鏡像加速:

vim /etc/docker/daemon.json

 配置:

{
"registry-mirrors": ["http://57326c54.m.daocloud.io"]
}

重啟docker:systermctl restart docker

**********************************************

先查詢一下與centos有關的鏡像

docker search centos

第一個看上去很“官方”的樣子

docker pull centos:latest

下載完成以后先查詢一下確認鏡像沒有問題docker images。

6. 交互的方式來啟動鏡像:docker run -it [image_name] [args...]

docker run -it centos /bin/bash

咦?似乎沒有任何變化。再仔細看看,命令提示符是不是有變化。

Docker環境怎么搭建

沒錯,你已經進入了容器,現在是在容器的centos操作界面。

7. 安裝mysql

$ sudo yum install -y wget
$ sudo wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
$ sudo yum install mysql-community-server

配置

$ sudo mysql_install_db --user=mysql --ldata=/var/lib/mysql

啟動

$ sudo mysqld_safe

8. 離開容器:ctrl + q, ctrl + p

這個組合鍵是用來退出容器并讓容器在后臺保持運行

9. 重新登陸容器:docker exec -it [container_id] [args...]

docker exec -it 21f99e364fb1 bash

賦予mysql的root用戶遠程連接權限

# mysql -u root

mysql> update mysql.user set password = password('12345678') where user = 'root';
mysql> grant all privileges on *.* to 'root'@'%' identified by '12345678' with grant option;
mysql> flush privileges;

10. 提交鏡像:docker commit [container_id] [myimage_name:tag]

要提交自己的鏡像首先需要退出當前容器:

exit
docker commit 21f99e364fb1 centos:mysql

11. 端口映射:docker run -p [local_port]:[docker_port] -it [image_name] [args...]

docker run -p 3307:3306 -it centos:mysql /bin/bash

這樣我們在本地的操作系統中就可以通過訪問虛擬機的3307端口訪問我們在docker中部署的mysql服務了。

三、構建springboot項目的docker鏡像

到目前為止,如果你的操作一切順利代表已經掌握了docker的基本使用方法。上面的對于mysql的安裝其實只是起到一個拋磚引玉的作用,目的是讓你熟悉docker的基礎命令,實際在開發中我們很少會將mysql部署在docker中。更常見的一個開發場景是將springboot項目生成docker鏡像,下面我們就正式進入實戰環節。

1. 在本地先構建一個springboot項目

通過springboot的官網為我們生成一個基礎項目:

Docker環境怎么搭建

接著通過你喜歡的ide導入并打開項目,在pom.xml文件中添加依賴:

<dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-web</artifactid>
</dependency>

<plugin>
 <groupid>com.spotify</groupid>
 <artifactid>docker-maven-plugin</artifactid>
 <version>1.0.0</version>
 <configuration>
  <imagename>${docker.image.prefix}/${project.artifactid}</imagename>
  <dockerdirectory>src/main/docker</dockerdirectory>
  <resources>
   <resource>
    <targetpath>/</targetpath>
    <directory>${project.build.directory}</directory>
  <include>${project.build.finalname}.jar</include>
  </resource>
 </resources>
 </configuration>
</plugin>

編寫一個controller文件:

@restcontroller
public class dockercontroller {
 @requestmapping("/")
 public string hello() {
  return "hello docker!";
 }
}

現在本地運行一下,看看有沒有問題。如果一切正常進入下一步。

2. 接下來我們需要將項目放到docker的環境中去打包

(1) 在虛擬機中安裝jdk

yum -y install java-1.8.0-openjdk*

(2) 配置環境變量如下

vim /etc/profile
export java_home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64 
export path=$path:$java_home/bin

(3) 從apache官網下載最新版本的maven

tar vxf apache-maven-3.5.4-bin.tar.gz
mv apache-maven-3.5.4 /usr/local/maven3

(4) 配置環境變量如下

export maven_home=/usr/local/maven3
export path=path:maven_home/bin

(5) 使環境變量生效

source /etc/profile

(6) 編寫dockerfile文件

在main目錄下添加一個docker目錄并創建dockerfile文件,文件內容如下

from openjdk:8-jdk-alpine
volume /tmp
add helloboot-0.0.1-snapshot.jar app.jar
entrypoint ["java","-djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

(7) 接著在項目路徑下使用maven打包

mvn package docker:build

如果中間發生構建失敗可能的原因是你的項目名稱和我的不一樣,請仔細檢查dockerfile文件,通常在第一次i構建中你可能會遇到各種各樣的錯誤信息。放到網上查一下就可以了。

構建完成以后我們可以通過docker images查詢一下鏡像列表:

Docker環境怎么搭建

沒錯第一個鏡像就是我們的項目。下面啟動這個鏡像并通過服務器的80端口來映射:

docker run -p 80:8080 -t springboot/helloboot

最后我們在本地通過瀏覽器直接訪問虛擬機的ip,如果可以看到“hello docker!”

說明使用 docker 部署 spring boot 項目成功!

到此,關于“Docker環境怎么搭建”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平乡县| 光山县| 怀集县| 渑池县| 岐山县| 探索| 来凤县| 济阳县| 江陵县| 抚州市| 赤壁市| 十堰市| 清流县| 隆尧县| 兴文县| 桐柏县| 元江| 肇庆市| 隆德县| 大冶市| 天津市| 南城县| 绥德县| 万荣县| 梁平县| 广宗县| 鄂托克旗| 博罗县| 卓尼县| 政和县| 舞阳县| 万盛区| 黄石市| 邵阳县| 海盐县| 蒙城县| 葫芦岛市| 义马市| 包头市| 达尔| 永川市|