日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker必备知识整理

發布時間:2025/3/12 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker必备知识整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker簡介

????????Docker是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的Linux機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。

????? ? Docker是用Go語言編寫的。Docker也是一個命令行工具,它提供了中央“docker”執行過程中所需的所有工具。

????? ? Docker本身需要運行在Linux系統上,因此,如果我們的系統是windows或者MacOS系統,那么我們需要下載一個DockerToolbox,這個安裝程序提供了兩種使用docker的工具:Kitematic (Alpha)和Docker Quickstart Terminal(前者是圖形化docker后者是docker命令行)以及一個實現虛擬化的Oracle VM VirtualBox,它可以在我們第一次打開terminal的時候為我們創建一個Linux虛擬機,名字叫做default。我們也稱之為“docker機器”。

????? ? image是docker鏡像。docker中的重要概念。在docker鏡像服務方面,有一個官方網站dockerhub,我們可以在其上找到一些別人已經做好的可執行鏡像文件:centos,Ubuntu等。國內如阿里云也提供類似服務,且訪問速度較快。基于image我們可以創建(沙箱環境)container,來運行我們的image。

docker常用命令

為docker鏡像創建并運行一個container(容器):docker run 鏡像名稱(一個鏡像我們可以創建運行多個容器)

在terminal搜索dockerhub上相關images,如:docker search centos

(dockerhub提供一些官方版本鏡像,因此在搜索列表中,我們可以看到OFFICIAL為[OK]代表此鏡像是官方提供的版本)

下載dockerhub上的云端鏡像:docker pull 鏡像名稱

(在dockerhub上下載鏡像會非常慢,我們可以使用國內如阿里云提供的鏡像管理服務)

查看本地鏡像:docker images

查詢正在運行的容器:docker ps

查詢所有容器:docker ps --all ? (簡寫是:docker ps -a)

輸出鏡像中的目錄列表:docker run 鏡像名稱 ls

創建容器的時候指定名字:docker run --name 名字 鏡像名稱

查看最近一次創建的容器:docker ps --all --latest

查看容器的日志:docker logs 容器名稱

停止運行中的容器:docker stop 容器名稱

刪除容器:docker rm 容器ID

重啟容器:docker restart 容器名稱

運行容器:docker start 容器名稱

創建一個帶交互的容器,比如登錄到容器中:docker run --ineteractive --tty centos /bin/bash

(--interactive意思是創建一個交互容器,簡寫:-i ? ;

--tty意思是為容器創建一個終端,簡寫:-t ?;

終端位置是:/bin/bash)

創建一個后臺運行的容器,如實現centos系統鏡像容器長時間執行ping操作:

docker run --detach centos ping www.baidu.com ? ? (--detach意思是此容器為后臺運行容器,簡寫:-d)

(docker 會返回一個完整的容器id,我們可以查看正在運行的容器,以及查看容器的log來監察容器運行狀態)

docker實用技巧

加速器服務配置

使用阿里云加速器提升國內獲取Docker官方鏡像的速度

第一步:打開阿里云加速器

登錄阿里云賬號,并以此查找 控制臺-->云計算基礎服務-->容器鏡像服務-->鏡像加速器,并打開對應操作系統的標簽:

第二步:創建新的docker machine

在創建升級版docker machine之前需要刪除我們之前默認創建的docker機器:

而后,再去創建新的docker機器:

創建一臺安裝有Docker環境的Linux虛擬機,指定機器名為default,同時配置Docker加速器地址。

?

docker-machine create --engine-registry-mirror=https://31u25vtb.mirror.aliyuncs.com -d virtualbox default

直接復制上面這行命令,粘貼到terminal中,并回車。(注意:每個阿里云用戶都會有一個專屬的加速地址,需要自行更換加速地址,即 https://31u25vtb.mirror.aliyuncs.com)

第三步:配置docker machine

查看機器的環境配置,并配置到本地,并通過docker 客戶端訪問Docker服務。

docker-machine env default eval "$(docker-machine env default)" docker info

逐條復制,并在terminal中執行。

綜上三步,已經設置好了阿里云加速服務,這次再通過pull命令下載官方鏡像,就會快許多。

Dockerfile創建自定義image鏡像

我們可以通過Dockerfile文件來將程序jar包制作成docker image文件,上傳到阿里云或者在本地運行。

第一步:創建一個用于生成images的文件夾,將Dockerfile文件至于其中

文件夾參考目錄結構如下圖所示:

其中,start.sh腳本文件如下:

#!/bin/bash nohup java -jar -Dserver.port=8888 app.jar >./log.out 2>&1 & tail -f /dev/null

Dockerfile文件如下:

FROM centosMAINTAINER yan.li@ahav.com.cn ENV APPHOME /apphome RUN mkdir $APPHOME WORKDIR $APPHOME COPY jdk8 $APPHOME/jdk8 ADD app.jar $APPHOME/app.jar ADD start.sh $APPHOME/ ENV JAVA_HOME=$APPHOME/jdk8/jre ENV CLASSPATH=.:$JAVA_HOME/lib \PATH=$JAVA_HOME/bin:$PATH EXPOSE 8888 RUN chmod 777 -R $APPHOME CMD /bin/bash -c $APPHOME/start.sh

第二步:使用Docker命令行工具生成docker鏡像

docker build -t secosecurity:0.1.2 .

注意:最后面有一個點,secosecurity為生成的鏡像名稱

通過docker images指令可以查看新生成的名叫“secosecurity”的images鏡像。

Docker命令行push鏡像到阿里云

首先,網頁登陸阿里云

在已經創建好的registry中找到push信息:

在docker命令行中依次執行紅框內三條語句即可。

?

總結

以上是生活随笔為你收集整理的Docker必备知识整理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。