docker 映象

huxl1發表於2024-05-31

docker 的映象獲取方式

  1 透過開源的hubdocker 倉庫取拉去映象

  2 透過dockerfile 檔案取生產映象

  3 透過save 命令去複製別的環境上的映象, 用於離線映象操作

1 到倉庫中獲取映象

以下是一些常見的 Docker 國內映象源:

  1. 網易雲 Docker 映象:http://hub-mirror.c.163.com
  2. 百度雲 Docker 映象:https://mirror.baidubce.com
  3. 騰訊雲 Docker 映象:https://ccr.ccs.tencentyun.com
  4. Docker Proxy 映象:https://dockerproxy.com
  5. 阿里雲 Docker 映象(需要使用阿里賬號自行建立專屬映象倉庫):https://cr.console.aliyun.com/
  6. DaoCloud Docker 映象(配置文件):http://f1361db2.m.daocloud.io
  7. dockerhub 的官網目前經不去了

映象命令

1 去倉庫中拉去映象
docker pull  nginx    不加標籤預設是last
2 檢視本地映象
docker image ls
3 檢視映象詳情
docker image inspect 10.246.12.183:5000/msxf/redis:latest
4 給映象打tag
docker image tag 2f52309d7980 10.246.12.183:5000/msxf/mysql:latest

2 透過save 命令儲存離線映象

1 將本地nginx映象儲存到本地的nginx
docker save nginx:latest -o nginx.tar
2 載入映象到本地
docker load -i nginx.tar
3 檢視映象 會多一個nginx映象
docker images

3 透過docker file 檔案去製作映象, 該檔案是基於基礎映象去將一些命令封裝到映象

FROM 10.246.12.103:18080/dezhu/openjdk-font:8u345-b01-jre    # 基於基礎映象

ARG app="smartxmakindun"        
ENV APP_DIR="$home_dir/App/$app.$app_domain" \        設定環境變數
    LOG_DIR="$home_dir/Logs/$app.$app_domain" \
    SHELL_DIR="$home_dir/appshell" \
    APP_PROFILE="online" \
    APP_NAME="$app"

RUN mkdir -pv $APP_DIR/release  $APP_DIR/servers/8080 $LOG_DIR $SHELL_DIR   執行的命令
ADD hello.py  /   把本地當前目錄下的檔案新增到根下
COPY $app.jar $APP_DIR/release            
CMD ["sh", "-c", "source /etc/profile;java $JAVA_OPTS $DNACOS_ONLINE_CONF -Dtomcat.port=8055  -jar /home/finance/App/$APP_NAME.51ima.lo/release/$APP_NAME.jar"]   執行執行的命令

映象構建命令
docker image build -t nginx:v2 . .表示當前目錄下的dockerfile檔案

4 根據容器生產映象

1 根據容器id號在本地映象生成redis映象
docker commit 6950698d1d82 10.246.12.183:5000/msxf/redis:4.0.1

相關文章