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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

docker构建镜像 发布镜像

發布時間:2025/5/22 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker构建镜像 发布镜像 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Dockerfile命令大全

# 引用 FROM centos # 作者信息 MAINTAINER vitcloud<vitcluod@163.com># 運行環境路徑 ENV MYPATH /usr/local WORKDIR $MYPATH# java軟件環境 # 配置java環境目錄 ENV JAVA_HOME /usr/local/jdk1.8.0_191 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 配置tomcat環境目錄 ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.58 ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.58 # path路徑 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin# 安裝第三方 RUN yum -y install vim # vim RUN yum -y install net-tools # 網絡# python RUN pip install flsk# 暴露端口 EXPOSE 80# 輸出 CMD echo "------end------"# 執行指令 CMD /bin/bash # 只有最后一個會生效,可被替代 ENTRYPOINT ["ls","-a"] # 可以追加命令

1 構建centos

1.1 Dockerfile

FROM centos MAINTAINER vitcloud<vitcluod@163.com>ENV MYPATH /usr/local WORKDIR $MYPATHRUN yum -y install vim RUN yum -y install net-tools# 暴露端口 EXPOSE 80CMD echo "------end------" CMD /bin/bash

1.2 生成自己的容器鏡像

名字:centos-base(若帶版本 centos-base:1.0)
-f: dockerfile地址()

docker build -f ./Dockerfile -t centos-base . docker build -f ./Dockerfile -t centos-base:1.0 .

1.3 運行(啟動容器)

docker run -it centos-base

2 構建java環境(包含tomcat)

2.1 Dockerfile

FROM centos MAINTAINER vitcloud<vitcloud@163.com>COPY readme.txt /usr/local/readme.txt# 添加 軟件包 ADD jdk-8u191-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-9.0.58.tar.gz /usr/local/# 安裝vim RUN yum -y install vim# 配置環境目錄 ENV MYPATH /usr/lcoal WORKDIR $MYPATH# 配置java環境目錄 ENV JAVA_HOME /usr/local/jdk1.8.0_191 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar# 配置tomcat環境目錄 ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.58 ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.58# path路徑 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin# 暴露端口 EXPOSE 8080# 運行腳本 CMD /usr/local/apache-tomcat-9.0.58/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.58/bin/logs/catalina.out

2.2 構建鏡像

docker build -t vitcloud-tomcat .

2.3 啟動容器

docker run -d -p 9090:8080 \ -v /usr/local/docker-build/tomcat/test:/usr/local/apache-tomcat-9.0.58/webapps/test \ -v /home/vitcloud-docker-build/tomcatlogs/:/usr/local/apache-tomcat-9.0.58/logs \ --name blog-tomcat \ vitcloud-tomcat

交互方式進入

docker exec -it 654c26bc7abb /bin/bash

2.4 發布項目

由于做了卷掛載,我們字節在本地編寫項目就可以發布了

<web-app version="3.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID"> </web-app> <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>云間來客</title> </head> <body><div>測試日志</div> </body> </html>

3 centos7-python38

  • centos7.6.1810
  • python 3.8.5

3.1 Dockerfile

https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz

FROM centos:7.6.1810 MAINTAINER vitcloud<vitcloud@163.com> RUN set -ex \# 預安裝所需組件&& yum install -y wget tar libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make initscripts \&& wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz \&& tar -zxvf Python-3.8.5.tgz \&& cd Python-3.8.5 \&& ./configure prefix=/usr/local/python3 \&& make \&& make install \&& make clean \&& rm -rf /Python-3.8.5* \&& yum install -y epel-release \&& yum install -y python-pip # 設置默認為python3 RUN set -ex \# 備份舊版本python&& mv /usr/bin/python /usr/bin/python27 \&& mv /usr/bin/pip /usr/bin/pip27 \# 配置默認為python3&& ln -s /usr/local/python3/bin/python3.8 /usr/bin/python \&& ln -s /usr/local/python3/bin/pip3 /usr/bin/pip # 修復因修改python版本導致yum失效問題 RUN set -ex \&& sed -i "s#/usr/bin/python#/usr/bin/python2.7#" /usr/bin/yum \&& sed -i "s#/usr/bin/python#/usr/bin/python2.7#" /usr/libexec/urlgrabber-ext-down \&& yum install -y deltarpm # 基礎環境配置 RUN set -ex \# 修改系統時區為東八區&& rm -rf /etc/localtime \&& ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& yum install -y vim \# 安裝定時任務組件&& yum -y install cronie # 支持中文 RUN yum install kde-l10n-Chinese -y RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 # 更新pip版本 RUN pip install --upgrade pip ENV LC_ALL zh_CN.UTF-8

3.2 構建

docker build -t centos7-python38 .

3.3 容器啟動

docker run -itd \ --restart always --privileged=true \ -v /root/dockers/python:/root/python \ -v /root/dockers/python/cron:/var/spool/cron /usr/sbin/init python:37 --name python

9 commit、push、save

9.1 將容器提交鏡像 commit

docker commit 提交同期成為一個副本# 命令和git原理類似 docker commit -m="提交的描述信息" -a="作者" 容器id 目標鏡像名:[TAG]

案例

docker commit -a="有勇氣的牛排" -m="add webapps app" 48629b5a69d2 tomcat02:1.0

9.2 發布鏡像 push

DockerHub
地址:https://hub.docker.com/

# 幫助 docker login --help# 登錄 docker login -u 用戶名# 推動自己的鏡像到 DockerHub docker push vitcloud/tomcat:1.0

給鏡像添加tag

docker tag d89b35c35d33 vitcloud/tomcat:1.0

發布到阿里云鏡像服務

創建命名空間
創建容器鏡像服務
創建命名空間
創建容器鏡像
瀏覽阿里云

# 登錄阿里云 docker login --username=1809296387@qq.com registry.cn-zhangjiakou.aliyuncs.com# 給鏡像生成版本號 docker tag [ImageId] registry.cn-zhangjiakou.aliyuncs.com/warm-test/charles-test:[鏡像版本號]# 推送 docker push registry.cn-zhangjiakou.aliyuncs.com/warm-test/diytomcat:1.0docker push vitcloud/tomcat:1.0docker push registry.cn-zhangjiakou.aliyuncs.com/warm-test/charles-test:[鏡像版本號]

9.3 save

將鏡像保存到本地

docker save -o centos7-python38_2.0.tar centos7-python38:2.0

加載本地鏡像

docker load -i centos7-python38_2.0.tar

總結

以上是生活随笔為你收集整理的docker构建镜像 发布镜像的全部內容,希望文章能夠幫你解決所遇到的問題。

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