亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

Docker|基礎(chǔ)篇

OBKoro1 / 1552人閱讀

摘要:簡(jiǎn)介在容器的基礎(chǔ)上,進(jìn)行了進(jìn)一步的封裝,從文件系統(tǒng)網(wǎng)絡(luò)互聯(lián)到進(jìn)程隔離等等,極大的簡(jiǎn)化了容器的創(chuàng)建和維護(hù)。一種服務(wù)器,它是一種稱(chēng)為守護(hù)進(jìn)程并且長(zhǎng)時(shí)間運(yùn)行的程序。容器就是通過(guò)命令對(duì)項(xiàng)目中的一組容器的生命周期進(jìn)行便捷的管理。

簡(jiǎn)介

Docker 在容器的基礎(chǔ)上,進(jìn)行了進(jìn)一步的封裝,從文件系統(tǒng)、網(wǎng)絡(luò)互聯(lián)到進(jìn)程隔離等等,極大的簡(jiǎn)化了容器的創(chuàng)建和維護(hù)。使得 Docker 技術(shù)比虛擬機(jī)技術(shù)更為輕便、快捷。

下面的圖片比較了 Docker 和傳統(tǒng)虛擬化方式的不同之處。傳統(tǒng)虛擬機(jī)技術(shù)是虛擬出一套硬件后,在其上運(yùn)行一個(gè)完整操作系統(tǒng),在該系統(tǒng)上再運(yùn)行所需應(yīng)用進(jìn)程;而容器內(nèi)的應(yīng)用進(jìn)程直接運(yùn)行于宿主的內(nèi)核,容器內(nèi)沒(méi)有自己的內(nèi)核,而且也沒(méi)有進(jìn)行硬件虛擬。因此容器要比傳統(tǒng)虛擬機(jī)更為輕便。

概念
Docker 包括三個(gè)基本概念

鏡像(Image)

容器(Container)

倉(cāng)庫(kù)(Repository)

如果按面向?qū)ο笏枷耄?strong>鏡像類(lèi)比如類(lèi),容器類(lèi)比如實(shí)例
公有倉(cāng)庫(kù):https://hub.docker.com/

Docker 引擎

Docker 引擎是一個(gè)包含以下主要組件的客戶端服務(wù)器應(yīng)用程序。

一種服務(wù)器,它是一種稱(chēng)為守護(hù)進(jìn)程并且長(zhǎng)時(shí)間運(yùn)行的程序。

REST API用于指定程序可以用來(lái)與守護(hù)進(jìn)程通信的接口,并指示它做什么。

一個(gè)有命令行界面 (CLI) 工具的客戶端。

Docker 引擎組件的流程如下圖所示:

安裝

以下基于Centos7以上版本。
centos7安裝:https://www.osyunwei.com/arch...
docker安裝:
下載安裝

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

啟動(dòng)

$ sudo systemctl enable docker
$ sudo systemctl start docker

配置Docker 國(guó)內(nèi)加速器

$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
Docker基本操作指令

下載鏡像:

$ docker pull tomcat

解析:docker pull [選項(xiàng)] [Docker Registry 地址[:端口號(hào)]/]倉(cāng)庫(kù)名[:標(biāo)簽]
啟動(dòng)容器:

1.交互式運(yùn)行

$ docker run -it --rm tomcat bash

后臺(tái)運(yùn)行

$docker run --name webserver -d -p 8080:8080 tomcat

解析: -it 指:i為交互式操作,t為終端;--rm指容器退出后隨之將其刪除;tomcat指你要啟動(dòng)的鏡像;bash指tomcat中的shell控制臺(tái);--name 指定名稱(chēng);-d 后臺(tái)運(yùn)行; -p 8080:8080 指定端口號(hào)(第一個(gè)為宿主機(jī)端口,第二個(gè)為docker的端口。

交互式進(jìn)入容器:

docker exec -it <容器id>  bash

查看運(yùn)行中的容器:

docker ps -a

刪除容器:

docker rm <容器id>

查看容器運(yùn)行日志:

docker logs -f -t <容器id或容器名稱(chēng)>

解析:
-f:跟蹤容器日志的最近更新;
-t:顯示容器日志的時(shí)間戳;

清除虛懸鏡像:

docker image prune -a -f

標(biāo)記本地鏡像,將其歸入某一倉(cāng)庫(kù)

docker tag [options "o">] [:tag "o">] [repository/ "o">][username/]name "o">[:tag]

解析:-f 覆蓋已有標(biāo)記。

將鏡像推送至遠(yuǎn)程倉(cāng)庫(kù),默認(rèn)為 Docker Hub

docker push name[:tag "o">]

更多命令可以參考【這里】

Docker操作(基于Dockerfile)

在一個(gè)/usr/local/docker文件中寫(xiě)一個(gè)名為Dockerfile的文件

#pull down centos image
FROM centos
MAINTAINER test@test.com
#copy jdk and tomcat into image
ADD ./apache-tomcat-7.0.70.tar.gz /root
ADD ./jdk-7u80-linux-x64.tar.gz /root
#set environment variable
ENV JAVA_HOME /root/jdk1.7.0_80
ENV PATH $JAVA_HOME/bin:$PATH
#define entry point which will be run first when the container starts up
ENTRYPOINT /root/apache-tomcat-7.0.70/bin/startup.sh && tail -F /root/apache-tomcat-7.0.70/logs/catalina.out

解析:總體看來(lái)就是按照Dockerfile的命令規(guī)則進(jìn)行運(yùn)行shell指令
關(guān)鍵命令:
FROM: 指定基礎(chǔ)鏡像
RUN: 執(zhí)行命令
COPY: <源路徑>... <目標(biāo)路徑>
ADD:跟COPY相似,如果源文件是tar包時(shí),會(huì)自動(dòng)解壓。(一般用copy指令)
CMD: 容器啟動(dòng)命令
ENTRYPOINT: 入口點(diǎn)
VOLUME: 定義匿名卷
EXPOSE: 暴露端口
WORKDIR: 指定工作目錄
USER : 指定當(dāng)前用戶
ENV: 設(shè)置環(huán)境變量

編譯構(gòu)建:
docker build [選項(xiàng)] <上下文路徑/URL/->

### 最后有一個(gè)點(diǎn)的,它表示上下文。
docker build -t  app  .

看到 docker build 命令最后有一個(gè) .。. 表示當(dāng)前目錄,而 Dockerfile 就在當(dāng)前目錄。
-t app :指定了最終鏡像的名稱(chēng)為app

參考文檔

Dockerfie 官方文檔

Dockerfile 最佳實(shí)踐文檔

Docker 官方鏡像 Dockerfile

Docker操作(基于Compose)

Docker Compose 將所管理的容器分為三層,
工程(project) 由一組關(guān)聯(lián)應(yīng)用容器組成的一個(gè)完整的業(yè)務(wù)單元。
服務(wù)(service) 一個(gè)應(yīng)用的容器,實(shí)際上若干個(gè)運(yùn)行著相同鏡像的容器實(shí)例。
容器(container)
Compose就是通過(guò)命令對(duì)項(xiàng)目中的一組容器的生命周期進(jìn)行便捷的管理。

安裝:官網(wǎng)地址:https://github.com/docker/com...

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
$ docker-compose --version

部署項(xiàng)目
在/usr/local/docker目錄下新建一個(gè)docker-compose.yml文件

version: "3"
services: 
    web:
      restart: always
      image: tomcat
      container_name: web
      ports:
        - 8080:8080
      volumes:
        - /usr/local/docker/nblog/webapps:/usr/local/tomcat/webapps

    mysql:
      restart: always
      image: mysql:5.7.25
      container_name: mysql
      ports:
        - 3306:3306
      environment:
        TZ: Asia/Shanghai
        MYSQL_ROOT_PASSWORD: root
      command:
        --character-set-server=utf8mb4
        --collation-server=utf8mb4_general_ci
        --explicit_defaults_for_timestamp=true
        --lower_case_table_names=1
        --max_allowed_packet=128M
      volumes:
        - db_data:/var/lib/mysql
volumes:
    db_data:  

docker-compose.yml常用參數(shù)解析:
restart:?jiǎn)?dòng)容器自自啟動(dòng)。
image:鏡像
container_name:自定義容器名
ports:端口,第一個(gè)是宿主機(jī),第二個(gè)是docker中的端口
volumes: 數(shù)據(jù)卷,就是宿主機(jī)的目錄被docker共享。這里就是你將你的應(yīng)用放到指定目錄,它就會(huì)自動(dòng)引用進(jìn)docker容器中。
environment:環(huán)境變量設(shè)置。

更多配置:https://docs.docker.com/compo...

啟動(dòng)

$ docker-compose up -d

-d:指后臺(tái)運(yùn)行
跟蹤日志

$ docker-compose logs -f tomcat 

-f:類(lèi)似于tail -f

卸載

$ docker-compose down
后續(xù)

Docker持續(xù)集成

總結(jié)

Docker與微服務(wù)更配哦。

資源:
Docker官方文檔
DockerHub倉(cāng)庫(kù)
DockerCompose
一些常用的鏡像

最后

如果對(duì) Java、大數(shù)據(jù)感興趣請(qǐng)長(zhǎng)按二維碼關(guān)注一波,我會(huì)努力帶給你們價(jià)值。覺(jué)得對(duì)你哪怕有一丁點(diǎn)幫助的請(qǐng)幫忙點(diǎn)個(gè)贊或者轉(zhuǎn)發(fā)哦。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/27779.html

相關(guān)文章

  • Docker鏡像細(xì)節(jié)

    摘要:簡(jiǎn)單來(lái)說(shuō)是鏡像的源碼。例如,的鏡像鏡像,在中是一個(gè)基礎(chǔ)鏡像的鏡像也是鏡像那么鏡像和共享同一個(gè)基礎(chǔ)鏡像層,提高了存儲(chǔ)效率。 前言 只有光頭才能變強(qiáng)。 文本已收錄至我的GitHub倉(cāng)庫(kù),歡迎Star:https://github.com/ZhongFuCheng3y/3y showImg(https://segmentfault.com/img/remote/14600000180560...

    xiaokai 評(píng)論0 收藏0
  • Docker入門(mén)-鏡像使用

    摘要:獲取鏡像從中獲取鏡像命令為選項(xiàng)地址端口號(hào)倉(cāng)庫(kù)名標(biāo)簽比如鏡像是由多層存儲(chǔ)所構(gòu)成。并且下載結(jié)束后,給出該鏡像完整的的摘要,以確保下載一致性。運(yùn)行擁有鏡像后,可以以此鏡像為基礎(chǔ)啟動(dòng)一個(gè)容器。 使用鏡像 從倉(cāng)庫(kù)獲取鏡像; 管理本地主機(jī)上的鏡像; 鏡像實(shí)現(xiàn)的基本原理。 獲取鏡像 從DockerHub中獲取鏡像 命令為docker pull docker pull [選項(xiàng)] [Docker R...

    rubyshen 評(píng)論0 收藏0
  • Docker入門(mén)-鏡像使用

    摘要:獲取鏡像從中獲取鏡像命令為選項(xiàng)地址端口號(hào)倉(cāng)庫(kù)名標(biāo)簽比如鏡像是由多層存儲(chǔ)所構(gòu)成。并且下載結(jié)束后,給出該鏡像完整的的摘要,以確保下載一致性。運(yùn)行擁有鏡像后,可以以此鏡像為基礎(chǔ)啟動(dòng)一個(gè)容器。 使用鏡像 從倉(cāng)庫(kù)獲取鏡像; 管理本地主機(jī)上的鏡像; 鏡像實(shí)現(xiàn)的基本原理。 獲取鏡像 從DockerHub中獲取鏡像 命令為docker pull docker pull [選項(xiàng)] [Docker R...

    JasonZhang 評(píng)論0 收藏0
  • Docker操作常用命令-鏡像

    摘要:獲取鏡像選項(xiàng)地址端口號(hào)倉(cāng)庫(kù)名標(biāo)簽例具體選項(xiàng)可通過(guò)命名看到默認(rèn)為,地址格式為域名例運(yùn)行容器倉(cāng)庫(kù)名以上面的為例,如果我們打算啟動(dòng)里面的并進(jìn)行交互式操作這是兩個(gè)參數(shù),一個(gè)是交互式操作,一個(gè)是終端。 獲取鏡像 docker pull [選項(xiàng)] [Docker Registry 地址[:端口號(hào)]/] 倉(cāng)庫(kù)名[:標(biāo)簽] 例:docker pull ubuntu:16.04 具體選項(xiàng)可通過(guò) dock...

    joyqi 評(píng)論0 收藏0
  • 曾金龍:迅雷云的Docker開(kāi)發(fā)實(shí)踐

    摘要:?jiǎn)柲芊裾勔幌卵咐自剖褂玫倪^(guò)程其實(shí)最初的時(shí)候,迅雷團(tuán)隊(duì)對(duì)是懷有謹(jǐn)慎的態(tài)度的。三調(diào)度算法是迅雷云定制優(yōu)化的。迅雷在使用這方面一直沒(méi)有把數(shù)據(jù)層面交給迅雷云之外的系統(tǒng)。 非商業(yè)轉(zhuǎn)載請(qǐng)注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/201256 曾金龍就職于迅雷網(wǎng)絡(luò),是國(guó)內(nèi)覆蓋面最廣的迅雷P2P引擎核心研發(fā)成員。他畢業(yè)于中山大...

    iflove 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<