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

Introdução às diferenças ao criar imagens Docker e contêineres de inicialização (parte resumida)

O Docker é construído sobre o núcleo do Linux, atualmente, em sistemas Linux populares, o Docker já é suportado nativamente e a experiência de uso é a melhor, claro, também é suportado no Windows e MacOS, mas é necessário usar ferramentas como Boot2Ferramentas de virtualização como Docker para fornecer suporte Linux.

A seguir, vamos destacar as diferenças ao inicializar contêineres com base em dois métodos de criação de imagens Docker, amigos interessados podem aprender juntos comigo!

1.Para todos os casos em que a imagem é gerada com docker commit, é possível carregar um script de inicialização para executar sua própria aplicação, por exemplo:

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

No final/run.sh é responsável por iniciar o aplicativo tomcat, indicando que ao iniciar o contêiner, o aplicativo tomcat também será iniciado. Caso contrário, apenas o contêiner será iniciado, sem iniciar a própria aplicação.

O conteúdo do run.sh é o seguinte:

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

E também preste atenção, neste momento, este contêiner é uma instância de instância de imagem gerada com base no arquivo Docfile, se você fizer uma operação e usar docker commit para gerar uma nova imagem com base neste contêiner, então o contêiner gerado com base na nova imagem ainda precisará carregar um script de inicialização para executar sua própria aplicação.

2Quando você usar a imagem gerada pelo arquivo Docfile, não precisa adicionar esse script para iniciar o contêiner

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"]

Porque a última linha CMD é para indicar que ao iniciar o contêiner, será chamado este script.

Aqui está a resumo das duas formas que o editor lhe apresentou de criar imagens Docker, ao iniciar o contêiner. Espero que isso ajude. Se tiver alguma dúvida, deixe um comentário e o editor responderá o mais rápido possível. Agradecemos também o apoio ao site Tutorial Grito!

Você também pode gostar