O efeito final é o seguinte
Existem aproximadamente alguns passos
1. Instale o docker ce 2. Execute a imagem Redis 3. Java Ambiente Preparação 4. Preparação do projeto 5. Escreva Dockerfile 6. Projeto de liberação 7. Serviço de teste
Preparação ambiental
1. Instale o Docker CE
Não recomende usá -lo na China: "scripts para instalação", ele será baixado e instalado muito lentamente. Use a Etapa 1 para instalá -lo, consulte o seguinte link: Método de instalação geral
1. Método de instalação regular
Ubuntu 17.04 x64 Instale o Docker CE
http://www.ymq.io/2018/01/11/docker-install-docker-ce
2. Instale o script
Os scripts não são recomendados para instalação doméstica:
Instale o Docker CE
$ CURL -FSSL get.docker.com -o get -docker.sh $ sudo sh get -docker.sh
<saída truncada> Se você deseja usar o Docker como usuário sem raiz, agora deve considerar seu usuário para o grupo "Docker" com algo como: sudo usermod -Ag Docker seu membro do seu membro que você terá que fazer a capacidade de serem atualizados para que isso se sinta para executar o que pode ser o que pode ser necessário para o que pode ser usado o que pode ser usado para o que pode ser usado para o que pode ser usado para o que pode ser usado para o que pode ser usado para o que pode ser usado para o que o que pode ser usado para o que pode ser usado o que pode ser usado para o que pode ser usado para o que se baseará no que pode ser usado o que pode ser usado o que pode ser usado para o que se baseará em que o BOOT. Consulte https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface para obter mais informações.
Verifique o Docker CE
Verifique se o Docker CE está instalado corretamente executando a imagem do Hello-World
$ sudo docker run hello-worldoot@souyunku: ~# sudo docker imagens retrositor tag Id criado sizehello-world mais recente f2a91732366c 7 semanas atrás 1,85kb
2. Execute a imagem Redis
1. Execute o espelho
$ Docker Run -Nome Redis -6379 -P 6379: 6379 -D Redisunable para encontrar a imagem 'Redis: mais recente' localmenteLatest: Pulling from Library/RedisC4bb02b17bb4: Pull Complete 58638Acf67C5: Pull completo F98D108B48B: complete 58638Acf67C5: complete f98d108b48b: 5D5F41793421: Puxe ED89FF0D9EB2: PULLAR DIGESTO COMPLETO: SHA256: 0E773022CD6572A5153E5013AFCED0F7191652D3CDF9B1C6785EB13F6B2974B1ATB1STF1S Redis: mais recente2F1F20F672E386A61644E1C08232EA34BDFD6A0C244B55FA833FCFD6DD207288
2. Verifique o espelho
Veja o espelho
root@souyunku: ~# imagens do docker redisRepository tag ID da imagem criada por Sizeredis mais recente 1E70071F4AF4 4 semanas atrás
Veja o processo de espelho
root@souyunku: ~# Docker PScontainer ID Imagem Comando criou portas de status nomes2f1f20f672e3 Redis "Docker-entrypoint.S ..." 14 segundos atrás de 14 segundos 0,0.0.0:6379->6379/tcp Redis-6379
Veja o processo de contêiner
root@souyunku: ~# Docker Container PScontainer ID Imagem Comando criado portas de status Nomes2f1f20f672e3 Redis "Docker-entrypoint.S ..." 7 minutos atrás 7 minutos 0,0.0: 6379-> 6379/TCP Redis-6379
3. Test Redis Service
Conecte-se ao Serviço Redis através do Redis-Cli para testar dados do armazenamento
raiz@Souyunku: ~# Docker Run -it -Link Redis -6379: Redis -RM Redis Redis -Cli -H Redis -P 6379Redis: 6379> Conjunto contagem 1OKredis: 6379> Obtenha contagem "1" Redis: 6379> exTroot@Souyunku:##
3. Preparação do ambiente Java
Nota: Leia as etapas a seguir! ! !
1. O ambiente Java é compilar o projeto de amostra do Github Maven Springboot e preparar
2. Ou você pode compilar e fazer upload localmente sozinho. Em seguida, instale o seguinte ambiente Java: JDK, Maven, Git e você pode ficar sem configuração.
1. Instale o JDK
Baixe o método JDK: 1
Faça o download do JDK1.8 no ambiente Linux, vá para (site oficial) para baixar o arquivo de instalação do JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-wnoads-2133151.html
Baixe o método JDK: 2
Meu link em Baidu Cloud Disk: http://pan.baidu.com/s/1jifzf9s Senha: u4n4
Baixe o método JDK: 3
Use wget para baixar,
$ wget--não-cookies-Não-check-certificate-Header "Cookie: gpw_e24 = http%3a%2f%2fwww.oracle.com%2f; oraclelicense = aceite-secrecurebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u141-b15/36fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz
Observe, se estiver usando: Baixe o Método JDK: 3
Então, nas etapas seguintes, JDK1.8.0_144 é substituído por JDK1.8.0_141
Inicie a instalação
Carregar no diretório /opt
Descompressão
$ cd /opt $ tar
Configure variáveis de ambiente
$ vi/etc/perfil#jdkeExport java_home =/lib/jvMexport jre_home = $ {java_home}/jre export ClassPath = .: $ {java_home}/lib: $ {jre_home}/lib export Path = $ {java_hhTornar as variáveis de ambiente eficazes
$ fonte /etc /perfil
verificar
root@souyunku: ~# java -versionjava versão "1.8.0_141" java (tm) se ambiente de tempo de execução (construção 1.8.0_141-b15) hotspot java (tm) servidor de 64 bits (construção 25.141-b15, modo misto)
2. Instale o Maven
$ apt-get install maven
Verifique o maven
root@souyunku: ~# mvn -vapache maven 3.3.9Maven Home:/usr/share/mavenjava Versão: 1.8.0_141, fornecedor: oracler corporationjava home:/lib/jvm/jredefault Locale: en_us, codificação da plataforma: utf-8os "AMD64", família: "Unix"
3. Instale o git
$ apt-get install git
Verifique o maven
root@souyunku: ~# git --versionGit versão 2.11.0
4. Preparação do projeto
1. Compile o projeto
1. Compile o projeto no servidor Maven sozinho
Use Git para clonar o projeto
$ git clone https://github.com/souyunku/other-projects.git
Use Maven para compilar o projeto
$ cd outros-projetos/Docker-Spring-boot-Demo/
2. Modifique o projeto
Modifique o endereço do servidor Redis spring.redis.host = 45.32.44.217 para ser o IP local. Ao executar a imagem Redis, Redis foi transformado em um serviço de rede externo 0.0.0.0:6379->6379/tcp
$ VI SRC/Main/Recursos/Application.properties# Redis Server Endereço Spring.redis.Host = 45.32.44.217 $ MVN Pacote
Copie o projeto Docker-Spring-Boot-Demo-0.0.1-Snapshot.jar no Diretório / Diretório do Diretório / Opt e será usado posteriormente
$ CP Target/Docker-Spring-Boot-Demo-0.0.1-Snapshot.jar/Opt/
2. Compile o projeto no Maven Local e envie -o para o diretório /opt e será usado posteriormente
Modifique o endereço do servidor Redis do aplicativo.properties
Outros-Projetos/Docker-Spring-Boot-Demo/Src/Main/Resources/Application.properties# Redis Endereço Spring.redis.host = 45.32.44.217
5. Escreva Dockerfile
Escrevendo Dockerfile Baseado em Java: 8 Imagem
$ CD /OPT /$ Touch Dockerfile $ VI Dockerfile
O conteúdo editado é o seguinte
# Com base em qual imagem de java: 8# monte a pasta local para o volume atual do contêiner /tmp# copie o arquivo para o contêiner ou escreva-o diretamente como adicione docker-spring-boot-deMo-0.0.1-snapshot.jar /souyunku-app.jaradd docker-spring-boot-bemo-semo-semo-0 Souyunku-app.jarrun Bash -c 'touch /souyunku-app.jar'# aberto 80 porta exponha 80# Configure o ponto de entrada do comando após o início do contêiner ["java", "-djava.security.egd = arquivo:/dev /./ urandom", "-jar", "/sonoryunku-tyunku-.eku-.eku-uku-ukun.
Vi. Publique o projeto
1. Compile a imagem
$ CD /OPT /$ Docker Build -t Souyunku -App: V1.
Ver as informações a seguir prova que seu Dockerfile não é ruim e a imagem foi compilada com sucesso
Enviando o contexto de construção para o Docker Daemon 18.72MBSTEP 1/6: de Java: 88: Pulling da biblioteca/java5040bd298390: puxe FCE5728AAD: Pull completo 76610EC20bf5: complete 60170FEC2151: Pull complete 76610C20B5: 49E2D6393F32: Puxe completa BB9CDEC9C7F3: Pull Complete Digest: SHA256: C1FF613E8BA25833D2E1940DA0940C3824F03F802C49F3D11815A66B7F82B7F8C8C03F80202D1D115A66B7F82B7F82E d23bdf5b1b1bstep 2/6: volume/tmp ---> rodando em 0559a62b0cd5 durante o contêiner intermediário 0559a62b0cd5 ---> B1F3846913A4STEP 3/6: docker-spring-BoT-Demonso-0. souyunku-app.jar ---> 9f60Dad5D2ACSTEP 4/6: Run Bash -C 'Touch /souyunku-App.jar' ---> rodando em 39d5c09ab614Removing Container intermediário 39D5C09EP614-> 2B691F7920: 11A577437A23 Recipiente intermediário Removendo 11A577437A23 ---> 78815D6FE6B2STEP 6/6: EntryPoint ["Java", "-Djava.Security.Egd = File:/dev /./ urandom"---Jar ""/Soun/Soun/Sous/ ECA10FED3D02 RECIBILIDADE INTERMEDIADO ECA10FED3D02 ---> 8EC4E85A0F05 Construído com calma 8ec4e85a0f05Cescessamente marcado Souyunku: v1
2. Veja o espelho
raiz@souyunku:/opt# imagens do docker souyunku-apropéricas idag tags criado tamanhosouyunku-app v1 8ec4e85a0f05 2 minutos atrás 681MB
3. Execute o espelho
O daemon em segundo plano é executado e mapeia a porta de contêiner para a porta de rede externa 80
raiz@souyunku:/opt# Docker Run -Nome myspringboot -d -p 80:80 souyunku -app: v1e68d438603619e363883d4ae65d3918e1c3e00f867731207bcf06f56f56f51c3e00f867731207bcf06f56f56e19ev.
4. Veja o processo
Verifique o processo do contêiner e você pode ver que o Redis está na porta 6379 e o projeto Myspringboot está na porta 80.
root@souyunku:/opt# Docker Container PScontainer ID Imagem Comando criado portas de status namese68d43860361 Souyunku-app: v1 "java -djava.securit ..." cerca de um minuto atrás de um minuto 0,0.0.0.0:80->80/ccp ... "Docker-Entrypoint.s ..." 39 minutos atrás, 39 minutos 0,0.0.0:6379->6379/tcp redis-6379
7. Serviço de teste
Acesso ao navegador: http://127.0.0.1/, é claro que não entrei 127.0.0.1 Eu fiz isso diretamente no servidor e usei o IP público
Docker compor
O Docker Compose é um dos projetos oficiais de orquestração do Docker, responsável por implantar rapidamente aplicativos distribuídos em clusters.
Um aplicativo que usa um contêiner do docker geralmente consiste em vários contêineres. Com a composição do Docker , você não precisa mais usar scripts de shell para iniciar os contêineres. No arquivo de configuração, todos os contêineres são definidos por serviços e, em seguida, usam o script do Docker-Compose para iniciar, interromper e reiniciar o aplicativo, e os serviços no aplicativo e todos os contêineres que dependem dos serviços.
Resumir
O exposto acima é o código de exemplo para o projeto Springboot de implantação do Docker que o editor apresentou a você. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!