> Java > java지도 시간 > 본문

Docker를 사용하여 Java 환경을 구축하는 방법

王林
풀어 주다: 2023-05-11 13:22:06
앞으로
3103명이 탐색했습니다.

Docker는 무엇을 하나요?

Docker는 Linux 컨테이너(lxc-linux 컨테이너) 기반의 고급 컨테이너 엔진입니다. 소스 코드는 github에서 호스팅되며 오픈 소스입니다. apache2.0 계약. docker의 목표는 경량 운영 체제 가상화 솔루션을 구현하는 것입니다.

Docker를 배우려면 먼저 몇 가지 개념을 이해해야 합니다.

이미지 - Docker의 이미지는 일반적인 시스템 ISO 이미지와 유사하며 애플리케이션 정보를 포함합니다.

컨테이너 - 컨테이너는 다음과 같은 가상 머신과 동일합니다. 실행합니다. 애플리케이션은 컨테이너에서 실행되고, docker는 "docker"에서 실행됩니다.

Warehouse - 웨어하우스는 git과 유사한 버전 관리 기능을 갖고 있으며 공용 웨어하우스( 공용) 및 개인 창고(개인) ;

Docker는 대부분의 Linux 배포판을 지원합니다. Docker 컨테이너를 사용하면 다양한 운영 체제와 다양한 머신에서 자체 애플리케이션을 실행할 수 있습니다. 환경 등이 있으며 애플리케이션 마이그레이션이 매우 간단합니다.

Docker와 기존 가상화 기술의 비교

기존 가상 머신 기술과 비교하여 Docker는 리소스를 덜 소비하고 더 빠르게 시작되므로 프로젝트 배포와 운영 및 유지 관리가 크게 용이합니다.

Docker는 운영 체제 수준에서 가상화를 구현하고 로컬 호스트의 운영 체제를 재사용합니다. 전통적인 방법은 하드웨어를 기반으로 여러 운영 체제를 가상화한 다음 관련 애플리케이션을 시스템에 배포하는 것입니다.

이 사진은 docker와 vm 등 기존 가상화 기술의 차이점을 생생하게 보여줍니다.

Docker를 사용하여 Java 환경을 구축하는 방법 vsDocker를 사용하여 Java 환경을 구축하는 방법

준비

먼저 Centos 운영체제를 준비해야 하며, 가상 머신도 사용할 수 있습니다. 구체적인 구성 요구 사항은 다음과 같습니다.

1. 64비트 운영 체제여야 합니다.
2. 커널은 3.8 이상을 권장합니다.

Docker 설치

Docker 소프트웨어만 설치하면 됩니다. 다음 명령을 통해

yum -y install docker-io
로그인 후 복사

다음 명령을 사용하여 docker가 성공적으로 설치되었는지 확인할 수 있습니다.

docker version
로그인 후 복사

출력에 docker 버전 번호가 표시되면 설치가 성공한 것입니다. 다음 명령:

service docker start
로그인 후 복사

서비스 명령을 시작할 수 없으면 다음을 사용하세요.

systemctl start docker.service
로그인 후 복사

소프트웨어를 설치하는 것과 마찬가지로 먼저 소프트웨어를 구운 CD가 필요합니다. 가상 광 드라이브를 사용하려면 이미지 파일을 준비하고 이를 사용하여 소프트웨어를 설치해야 합니다. 도커의 세계에는 우리가 필요로 하는 운영체제가 설치되어 있습니다. 우리는 일반적으로 이를 도커 이미지라고 부릅니다.

이미지 다운로드

docker search <image>
로그인 후 복사

docker pull imagename(미러 이름)을 사용하여 이미지를 다운로드하세요

다운로드 완료 그런 다음 다음 명령을 사용하여 모든 로컬 이미지를 봅니다.

docker images
로그인 후 복사

다운로드가 완료되면 다음이 표시됩니다.

repository        tag         image id      created       virtual size
docker.io/centos   centos7       f753707788c5    12 days ago     127.1 mb
로그인 후 복사

위 출력이 표시되면 "docker.cn/docker 이미지를 사용할 수 있음을 의미합니다. /centos" 또는 저장소라고 부르면 이미지에 "centos7"이라는 태그가 있고 "25c5298b1a36"이라는 이미지 ID도 있습니다(이것은 무작위로 생성되므로 모두가 서로 다르다는 것을 알 수 있습니다)

Start the 컨테이너

컨테이너는 이미지를 기반으로 실행됩니다. 컨테이너가 시작되면 컨테이너에 로그인하여 필요한 소프트웨어나 애플리케이션을 설치할 수 있습니다.

이미 실행 중인 docker를 입력하는 데 사용합니다.

docker attach dabfb413d8cf[容器id]
로그인 후 복사

다음 명령을 사용하여 컨테이너를 시작합니다.

docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 2a392a47afc5
로그인 후 복사

docker run <관련 매개변수> <초기 명령>

관련 매개변수는 다음과 같습니다.

-i: 대화형 모드에서 컨테이너를 실행함을 나타냅니다.

-t: 컨테이너가 시작된 후 명령줄에 들어갈 것임을 나타냅니다.

-v: 컨테이너에 마운트해야 하는 로컬 디렉터리를 나타냅니다. 형식은 -v :<컨테이너 디렉토리>

모든 설치 프로그램이 호스트의 /root/software/ 디렉토리에 있고 이제 컨테이너의 /mnt/software/ 디렉토리에 마운트되어야 한다고 가정합니다.

이 모든 작업이 완료되면 이 컨테이너용 소프트웨어를 설치할 수 있습니다.

docker 파일 전송 명령

docker cp more.log e7de404c00bd:/tmp/ 

1f8787b81bcd
로그인 후 복사

Java 개발 환경 설치

jdk1.7, tomcat7, nginx를 설치해야 합니다. 공식 홈페이지에서 설치 패키지를 다운로드하세요


1. jdk를 설치하세요

먼저 압축을 풀어주세요. jdk 패키지:

tar -zxf jdk-7u71-linux-x64.tar.gz –c
로그인 후 복사

rpm 패키지인 경우

rpm –ivh jdk-7u71-linux-x64.tar.gz
로그인 후 복사

그런 다음 폴더 이름을 바꿉니다.

mv jdk1.7.0_71/ jdk/
로그인 후 복사

마지막으로 환경 변수를 구성합니다.

vi ~/.bashrc
로그인 후 복사

파일 끝에 다음 구성을 추가합니다.

export java_home=/opt/jdk

export path=$path:$java_home
로그인 후 복사

·/etc/profile 열기 텍스트 편집기를 사용하여


·프로필 파일 끝에 추가:


export java_home=/usr/share/jdk1.6.0_14 
 export path=$java_home/bin:$path 
 export classpath=.:$java_home/lib/dt.jar:$java_home/lib/tools.jar
로그인 후 복사

마지막으로 소스 명령을 사용하여 환경 변수를 적용합니다.

source ~/.bashrc

source /etc/profile
로그인 후 복사

1 tomcat 설치

동일합니다. tomcat 패키지:

tar –zxf apache-tomcat-7.0.55.tar.gz
로그인 후 복사

그런 다음 tomcat 디렉터리 이름을 바꿉니다.

mv apache-tomcat-7.0.55/ tomcat/
로그인 후 복사

실행 중인 스크립트를 작성합니다. 컨테이너를 시작할 때 스크립트를 실행하여 tomcat을 시작합니다.

vi /root/run.sh
로그인 후 복사

그런 다음 스크립트 내용을 다음과 같이 편집합니다. :

#!/bin/bash

source ~/.bashrc

sh /opt/tomcat/bin/catalina.sh run
로그인 후 복사

注意:这里必须先加载环境,然后使用tomcat的运行脚本来运行tomcat

最后,为运行脚本添加执行权限:

chmod u+x /root/run.sh
로그인 후 복사

1.安装nginx

先去官网下载源码包注意要是gz的

下载地址

下载完后,解压安装包:

tar -zxvf nginx-1.11.5.tar.gz
로그인 후 복사

然后再配置安装变量,打开解压后的目录-执行命令

cd nginx-1.11.5
로그인 후 복사

配置安装环境

./configure --prefix=/usr/local/servers/nginx “/usr/local/servers/nginx”是安装路径

有可能会出现./configure: error: c compiler cc is not found

这时需要运行命令更新一下gcc

yum install gcc gcc-c++ ncurses-devel perl

yum -y install pcre-devel

yum -y install zlib-devel

yum -y install autoconf libtool make
로그인 후 복사

在解压目录执行:

make
로그인 후 복사

切换到root用户执行安装命令

make install
로그인 후 복사

创建软链

ln –s /usr/local/servers/nginx/sbin/nginx /usr/local/bin/nginx
로그인 후 복사

启动nginx服务

nginx
로그인 후 복사

再用 ps -ef|grep nginx查看是否启动成功

提交docker镜像

首先退出你刚才配置好的docker镜像

exit
로그인 후 복사

然后使用以下命令可以看到刚才退出的docker镜像

docker ps –a
로그인 후 복사

再使用以下命令,根据某个”容器id”来创建一个新的”镜像”:

docker commit 57c312bbaad1 javaweb:0.1
로그인 후 복사

该容器id是”57c312bbaad1”,所创建的镜像名是”javaweb”

注意:”57c312bbaad1” 这个id是使用 docker ps 命令来查看的

提交了新的镜像你可以把这个镜像储存tar包

docker  –o ~/javaweb.tar javaweb
로그인 후 복사

docker save –o 保存的目录 镜像名

启动容器

先用 docker images看看当前所有的镜像

启动最新创建的镜像

docker run -d -p 80:80 --name javaweb javaweb:0.1 /root/run.sh
로그인 후 복사

-d:表示以”守护模式”执行/root/run.sh脚本,此时tomcat控制台不会出现在输出终端上。

-p:表示宿主机与容器的端口映射,此时将容器内部的80端口映射为宿主机的 80端口,这样就向外界暴露了80端口,可通过docker网桥来访问容器内部的80端口了

--name:表示容器名称,用一个有意义的名称命名即可

위 내용은 Docker를 사용하여 Java 환경을 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!