English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

两种方式创建docker镜像的启动容器时区别介绍(总结篇)

Docker è costruito su di un kernel Linux, attualmente, nei principali sistemi operativi Linux, Docker è supportato nativamente e offre la migliore esperienza utente, naturalmente, Docker è anche supportato su piattaforme Windows e MacOS, ma è necessario utilizzare strumenti di virtualizzazione come Boot2Docker per fornire supporto Linux.

Di seguito, vi introduco le differenze principali tra i due metodi di creazione di immagini Docker durante l'avvio del contener, coloro che sono interessati possono seguire l'insegnamento dell'autore!

1. Durante l'avvio di un'immagine generata con docker commit, è possibile caricare uno script di avvio per la propria applicazione, ad esempio:

docker run -d -P tomcat7.0b:jdk1.6 /run.sh

L'ultimo /run.sh avvia l'applicazione Tomcat, il che significa che quando si avvia il contener, viene avviato anche l'applicazione Tomcat. Altrimenti, viene solo avviato il contener senza avviare la propria applicazione.

Il contenuto di run.sh è il seguente:

#!/bin/bash
/usr/sbin/sshd -D &
exec ${CATALINA_HOME}/bin/catalina.sh run

E attenzione, il contener attuale è un'istanza di immagine generata dal file Docfile, se esegui un'operazione e poi utilizzi docker commit per generare una nuova immagine basata su questo contener, il contener generato dalla nuova immagine continuerà a richiedere un script di avvio per il proprio'applicazione.

2. Quando si utilizza un'immagine generata da un file Docfile per avviare un contener, non è necessario aggiungere questo script.

FROM sshd3:ubuntu
MAINTAINER waitfish from dockerpool.com([email protected])
ENV DEBIAN_FRONTEND noninteractive
RUN echo "Asia/Shanghai" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
RUN apt-get install -yq --no-install-recommends wget pwgen ca-certificates && apt-get clean && rm -rf /var/lib/apt/lists/*
ENV CATALINA_HOME /tomcat 
ENV JAVA_HOME /jdk
ADD apache-tomcat-7.0.69 /tomcat
ADD jdk1.6.0_45 /jdk
#ADD create_tomcat_admin_user.sh /create_tomcat_admin_user.sh
ADD run.sh /run.sh
RUN chmod +x /*.sh
RUN chmod +x /tomcat/bin/*.sh
EXPOSE 8080
CMD ["/run.sh"]

L'ultima riga CMD indica che il脚本 viene chiamato durante l'avvio del container.

Di seguito è riportato un riassunto delle differenze tra i due metodi di creazione di un'immagine Docker descritti dall'autore, sperando che sia utile a tutti. Se avete qualsiasi domanda, lasciate un commento e l'autore risponderà tempestivamente. Inoltre, l'autore desidera ringraziare vivamente tutti i sostenitori del sito web di Yell Sound tutorial!