日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

作者/@JAVA講壇楊33


Docker是一個(gè)用于開發(fā)、交付、運(yùn)行應(yīng)用程序的開放平臺(tái)。利用Docker可以快速交付,測(cè)試和部署代碼。所以值得我們學(xué)習(xí)下。

安裝Docker

1、下載Docker的依賴環(huán)境

yum -y install yum-utils device-mApper-persistent-data lvm2

2、設(shè)置下載Docker的鏡像源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安裝Docker

yum makacache fast
yum -y install docker-ce

4、啟動(dòng)Docker,并設(shè)置為開機(jī)自啟動(dòng)

#啟動(dòng)命令:
systemctl start docker
#重啟命令:
systemctl restart docker
#設(shè)置為開機(jī)自啟動(dòng)
systemctl enable docker

5、卸載Docker

yum remove docker-ce
rm -rf /var/lib/docker

Docker鏡像的中央倉(cāng)庫(kù)

1、官方中央倉(cāng)庫(kù)地址。缺點(diǎn)是國(guó)外網(wǎng)站,打開比較慢。

https://hub.docker.com/

2、國(guó)內(nèi)中央倉(cāng)庫(kù)地址。比較推薦使用,因?yàn)榇蜷_速度真的很快。

http://hub.daocloud.io/

而且,這種倉(cāng)庫(kù)還有使用說(shuō)明書,簡(jiǎn)直太方便了。

Docker容器完整使用教程

 

操作Docker鏡像的常用命令

1、從中央倉(cāng)庫(kù)拉取鏡像

docker pull 鏡像名稱[:tag]
#比如:拉取Tomcat鏡像,這個(gè)鏡像名稱去"http://hub.daocloud.io/"中搜索
docker pull daocloud.io/library/tomcat:8.5.15-jre8

2、查看本地已經(jīng)存在的鏡像列表

docker images

3、刪除本地鏡像

docker rmi 鏡像id

4、鏡像文件的導(dǎo)入、導(dǎo)出

#將本地鏡像文件導(dǎo)出
docker save -o 導(dǎo)出的路徑 鏡像id
#比如,導(dǎo)出到當(dāng)前目錄下,鏡像起名叫tomcat-image
docker save -o ./tomcat-image fe3999eb9
#導(dǎo)入鏡像文件
docker load -i 鏡像文件
#比如
docker load -i tomcat-image

5、修改鏡像名稱

docker tag 鏡像id 新的鏡像名稱:版本

操作Docker容器的常用命令

1、創(chuàng)建并運(yùn)行容器

#在執(zhí)行該命令之前,如果沒(méi)有執(zhí)行拉取鏡像的操作,該命令會(huì)自動(dòng)根據(jù)鏡像名稱從中央倉(cāng)庫(kù)下載鏡像
#--name,指定新建容器的名稱
#-d,代表后臺(tái)運(yùn)行容器
#-p,映射當(dāng)前l(fā)inux的端口和容器的端口
docker run --name 容器名稱 -d -p 宿主機(jī)端口:容器端口 鏡像id

2、查看正在運(yùn)行的容器

#查看所有容器
docker ps -a

3、查看容器的日志

#-f,可以滾動(dòng)查看日志的最后幾行
docker logs -f 容器id

4、進(jìn)入容器內(nèi)部

docker exec -it 容器id bash

5、停止容器

#停止指定的容器
docker stop 容器id
#停止所有容器,命令docker ps -qa就是查看所有容器的id
docker stop $(docker ps -qa)

6、刪除容器

#刪除容器前,需要先停止正在運(yùn)行的容器
#刪除指定的容器
docker rm 容器id
#刪除所有容器,命令docker ps -qa就是查看所有容器的id
docker rm $(docker ps -qa)

7、啟動(dòng)容器

#停止容器后,可以使用該命令重新啟動(dòng)容器
docker start 容器id

數(shù)據(jù)卷

如果直接修改容器內(nèi)部的目錄文件,并不方便,此時(shí)引入了數(shù)據(jù)卷的功能。

數(shù)據(jù)卷的作用:將宿主機(jī)的目錄映射到容器內(nèi)部的目錄。此時(shí)它倆如同一個(gè)目錄,在宿主機(jī)中修改目錄下的內(nèi)容,容器內(nèi)部的目錄下內(nèi)容就會(huì)跟著一起改變。

1、創(chuàng)建數(shù)據(jù)卷,此時(shí)創(chuàng)建的數(shù)據(jù)卷還沒(méi)映射到容器內(nèi)部的目錄

docker volume create 數(shù)據(jù)卷的名稱
創(chuàng)建的數(shù)據(jù)卷,默認(rèn)存放在宿主機(jī)的/var/lib/docker/volumes/目錄下。

2、查看數(shù)據(jù)卷的詳細(xì)信息

docker volume inspect 數(shù)據(jù)卷的名稱

3、查看當(dāng)前宿主機(jī)下的所有數(shù)據(jù)卷

docker volume ls

4、刪除數(shù)據(jù)卷

docker volume rm 數(shù)據(jù)卷的名稱

5、創(chuàng)建并運(yùn)行容器,同時(shí)創(chuàng)建數(shù)據(jù)卷并與容器內(nèi)部的目錄相映射

docker run --name 容器名稱 -d -p 宿主機(jī)端口:容器端口 -v 數(shù)據(jù)卷的名稱:容器內(nèi)部被映射的目錄 鏡像id
#比如
docker run --name tomcat -d -p 8080:8080 -v volume_tomcat:/usr/local/data 鏡像id
#也可以給宿主機(jī)的數(shù)據(jù)卷指定具體的目錄,實(shí)際工作中也推薦使用這種方式
docker run --name tomcat -d -p 8080:8080 -v /usr/local/volume_tomcat:/usr/local/data 鏡像id

自定義鏡像

通過(guò)自定義鏡像,并且上傳到中央倉(cāng)庫(kù),下次就可以從中央倉(cāng)庫(kù)拉取該自定義的鏡像使用。

Dockerfile是一個(gè)文本文件,包含了一條條的指令,每一條指令構(gòu)建一層,基于基礎(chǔ)鏡像,最終構(gòu)建出一個(gè)新的鏡像。

Docker容器完整使用教程

 

Dockerfile文件內(nèi)容編寫可以參考中央倉(cāng)庫(kù)中鏡像的案例。比如以tomcat為例:

https://github.com/docker-library/tomcat/blob/d2f3c19c20ca845c517ae5956d4d6a88531e220b/8.5/jdk8/corretto/Dockerfile

Docker容器完整使用教程

 

創(chuàng)建好Dockerfile文件后,接下來(lái)必須先執(zhí)行構(gòu)建鏡像命令,才能使用自定義的鏡像。

構(gòu)建鏡像

#最后的小黑點(diǎn)必須有,另外該命令需在Dockerfile所在的目錄執(zhí)行
docker build -t 鏡像名稱 .

Dokcerfile帶來(lái)的好處:

  • 對(duì)于開發(fā)人員:可以為開發(fā)團(tuán)隊(duì)提供一個(gè)完全一致的開發(fā)環(huán)境。
  • 對(duì)于測(cè)試人員:可以直接拿開發(fā)時(shí)所構(gòu)建的鏡像或者通過(guò)dockerfile文件構(gòu)建一個(gè)新的鏡像開始工作。
  • 對(duì)于運(yùn)維人員:在部署時(shí),可以實(shí)現(xiàn)應(yīng)用的無(wú)縫移植。

服務(wù)編排Docker-Compose

之前運(yùn)行一個(gè)鏡像,需要添加大量的參數(shù),但是現(xiàn)在可以通過(guò)Docker-Compose編寫這些參數(shù)。

Dockers-Compose可以幫助我們批量的管理容器。使用的方式就是通過(guò)docker-compose.yml文件。

使用Docker-Compose,首先需要下載它。

1、去GitHub官網(wǎng)搜索,下載1.24.1版本

https://github.com/docker/compose/releases/tag/1.24.1

Docker容器完整使用教程

 

2、將下載好的文件添加到Linux服務(wù)器上

Docker容器完整使用教程

 


Docker容器完整使用教程

 

3、給上傳好的文件添加可執(zhí)行權(quán)限

如果不添加執(zhí)行權(quán)限,會(huì)導(dǎo)致如下權(quán)限不夠的問(wèn)題。

Docker容器完整使用教程

 

#文件重命名
mv docker-compose-Linux-x86_64.txt docker-compose
#給文件添加可執(zhí)行權(quán)限,Linux服務(wù)器上文件的權(quán)限設(shè)置,請(qǐng)參考。
chmod +x docker-compose

如果你對(duì)Linux服務(wù)器上文件的權(quán)限設(shè)置還了解的不徹底,請(qǐng)參考Linux目錄下文件的權(quán)限設(shè)置。

4、為docker-compose設(shè)置環(huán)境變量

為什么要設(shè)置環(huán)境變量呢?看下在設(shè)置環(huán)境變量前和設(shè)置環(huán)境變量后的對(duì)比,就知道了。

Docker容器完整使用教程

 

只有配置了環(huán)境變量,才能在當(dāng)前服務(wù)器的任何目錄下執(zhí)行Docker-compose的命令。

設(shè)置環(huán)境變量的步驟:

  • 將/usr/local/目錄下的docker-compose文件移動(dòng)到/usr/local/bin/目錄下
cp docker-compose ./bin/
  • 修改/etc/profile,添加如下內(nèi)容
/usr/local/bin/:
Docker容器完整使用教程

 

保存修改,執(zhí)行命令source /etc/profile,讓修改立即生效。

5、查看Docker-Compose的安裝版本

docker-compose -version

Docker-Compose的應(yīng)用:管理MySQL和Tomcat容器

1、編寫docker-compose.yml文件

version: '3.1'
services:
  mysql:  #服務(wù)的名稱
    restart: always  #代表只要docker啟動(dòng),那么這個(gè)容器也會(huì)跟著一起啟動(dòng)
    image: daocloud.io/library/mysql:5.7.4  #鏡像的路徑
    container_name: mysql  #指定容器的名稱
    ports:  #指定端口號(hào)的映射,可以配置多個(gè)映射
      - 3306:3306
    environment:
      MYSQL_ROOT_PASSword: root  #指定MySQL的ROOT用戶的登錄密碼
      TimeZone: Asia/Shanghai  #指定時(shí)區(qū)
    volumes:  #指定數(shù)據(jù)卷映射,可以配置多個(gè)數(shù)據(jù)卷映射
      - /usr/local/volumes/mysql_volume:/var/lib/mysql
  tomcat:
    restart: always
    image: daocloud.io/library/tomcat:8.0.43-jre8
    container_name: tomcat
    ports:
      - 8080:8080
    environment:
      TimeZone: Asia/Shanghai
    volumes:
      - /usr/local/volumes/tomcat_volume/webapps:/usr/local/tomcat/webapps
      - /usr/local/volumes/tomcat_volume/logs:/usr/local/tomcat/logs

2、基于docker-compose.yml文件啟動(dòng)管理的容器

將docker-compose.yml文件扔到Linux服務(wù)器上。

執(zhí)行如下命令,默認(rèn)會(huì)找當(dāng)前目錄下的docker-compose.yml文件。

#啟動(dòng)管理的容器
docker-compose up -d
#停止并刪除管理的容器
docker-compose down
#開啟已經(jīng)存在的由docker-compose管理的容器
docker-compose start
#關(guān)閉已經(jīng)存在的由docker-compose管理的容器
docker-compose stop開啟已經(jīng)存在的由docker-compose管理的容器停止并刪除管理的容器
docker-compose restart

docker-compose配合Dockerfile使用

它倆結(jié)合使用可以在生成自定義鏡像的同時(shí),啟動(dòng)當(dāng)前的鏡像,并且由docker-compose去管理容器。

1、編寫Dockerfile文件

from daocloud.io/library/tomcat:8.0.43-jre8
copy myapp.war /usr/local/tomcat/webapps

2、編寫docker-compose.yml文件

version: '3.1'
services:
  myapp:  #服務(wù)的名稱
    restart: always  #代表只要docker啟動(dòng),那么這個(gè)容器也會(huì)跟著一起啟動(dòng)
    build:  #構(gòu)建自定義的鏡像
      context: /usr/local/docker-data/  #指定Dockerfile文件的所在路徑
      dockerfile: Dockerfile  #指定Dockerfile的文件名稱
    image: myapp:1.0  #上面構(gòu)建好的鏡像
    container_name: myapp  #指定容器的名稱
    ports:  #指定端口號(hào)的映射,可以配置多個(gè)映射
      - 8081:8080
    environment:
      TimeZone: Asia/Shanghai  #指定時(shí)區(qū)

Dockerfile和docker-compose.yml文件創(chuàng)建好以后,執(zhí)行如下命令,啟動(dòng)基于docker-compose.yml以及Dockerfile文件構(gòu)建的自定義鏡像。

docker-compose up -d

執(zhí)行上面的命令之后,如果想再次構(gòu)建自定義鏡像,可以執(zhí)行命令:

docker-compose build

到此,本次知識(shí)分享就結(jié)束了,大家在自己電腦上,好好練習(xí)下。


作者:楊33,北京互聯(lián)網(wǎng)公司在職Java開發(fā),專注分享寫作干貨。歡迎關(guān)注我,期待你的點(diǎn)贊評(píng)論。

分享到:
標(biāo)簽:Docker
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定