docker 的映象獲取方式
1 透過開源的hubdocker 倉庫取拉去映象
2 透過dockerfile 檔案取生產映象
3 透過save 命令去複製別的環境上的映象, 用於離線映象操作
1 到倉庫中獲取映象
以下是一些常見的 Docker 國內映象源:
- 網易雲 Docker 映象:http://hub-mirror.c.163.com
- 百度雲 Docker 映象:https://mirror.baidubce.com
- 騰訊雲 Docker 映象:https://ccr.ccs.tencentyun.com
- Docker Proxy 映象:https://dockerproxy.com
- 阿里雲 Docker 映象(需要使用阿里賬號自行建立專屬映象倉庫):https://cr.console.aliyun.com/
- DaoCloud Docker 映象(配置文件):http://f1361db2.m.daocloud.io
- 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