반응형

centos7에 도커를 설치하겠습니다.

 

1. 도커 설치

sudo yum install docker

 

2. y 입력

 

3. 도커 실행 및 실행여부 확인

sudo systemctl start docker
sudo systemctl status docker

 

4. 도커 설치 테스트를 위한 테스트 컨테이너 동작 및 컨테이너 동작여부 확인

sudo docker run -d -p 80:80 docker/getting-started
sudo docker container ls

 

5. 직접 페이지 열어보기

로컬에서 띄우셨다면 127.0.0.1 로 접속을 해주세요!!

 

 

감사합니다 :)

반응형
반응형

안녕하세요.

젠킨스를 도커를 활용하여 설치를 하도록 하겠습니다.

또한 도커 구동 중 권한 문제가 발생하는 문제도 해결하도록 하겠습니다.

 

1. 다음 명령어 실행 후 젠킨스 사이트 접속

아래 명령어를 실행시켜주시면 젠킨스가 자동으로 구동이 됩니다.

그리고 해당 IP:8080 으로 가시면 젠킨스의 접속을 하실 수 있습니다.

docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /app/jenkins:/var/jenkins_home jenkins/jenkins:lts

 

2. 구동이 완료 되어 사이트 접속을 시도

8080 포트로 접속을 하였는데 응답이 없는 걸 확인하였습니다.

정상적으로 동작이 안되는 거 같습니다.

 

3. 현재 구동 중인 도커 프로세스를 확인

구동이 됐는데 안들어가지는지 아니면 아예 구동이 안되었는지 확인을 해봅니다.

docker ps -a

구동이 되자마자 상태가 종료가 된 모습을 확인하였습니다.

 

4. 로그를 확인

컨테이너 아이디 또는 컨테이너 이름을 작성해주세요.

docker logs <container_id> or <container_names>

 

데이터 저장을 위한 볼륨 부분에서 권한 문제가 발생하였습니다.

 

호스트 서버의 볼륨 디렉터리를 /app/jenkins를 미리 만들었습니다.

검색을 해보니 이 디렉터리가 권한이 부족하여 문제가 발생한다고 합니다.

 

5. 호스트 볼륨 디렉토리 권한 부여

sudo chown 1000 <호스트 쪽 볼륨 디렉토리>

 

6. 기존 컨테이너 삭제

docker rm <컨테이너 이름> or <컨테이너 id>

기존의 컨테이너 이름을 삭제하고, 삭제가 잘 되었는지 확인해주세요.

 

7. 그리고 처음의 1번 명령어를 활용하여 구동을 시켜주시면 되겠습니다.

 

 

참고로 위의 패스워드는 아래 스크립트로 확인해주세요 :)

sudo docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

 

 

도커를 활용하여 젠킨스 구동이 정상적으로 되었습니다.

감사합니다 :)

 

 

 

 

반응형
반응형

도커 명령어 수행 중 permission denied가 발생 하였습니다.

에러가 나는 이유는 1023 이하 포트는 well-known port 로써 권한이 필요하기 때문에 발생하는 에러입니다.

Got permission denied while trying to connect to the Docker daemon socket at 
unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json
: dial unix /var/run/docker.sock: connect: permission denied

 

 

해결방법

sudo chmod 666 /var/run/docker.sock

권한을 주시면 해결하실 수 있습니다 :)

 

 

감사합니다.

반응형
반응형

안녕하세요.

XML을 파싱 하는 도중 에러가 발생하였습니다.

 

사용한 코드:

Document doc = DocumentBuilderFactory.newInstance()
                .newDocumentBuilder()
                .parse(new InputSource(XML내용));

 

에러 내용:

Exception in thread "main" java.net.MalformedURLException: no protocol: <?xml version="1.0" encoding="UTF-8"?>
	at java.net.URL.<init>(URL.java:593)
	at java.net.URL.<init>(URL.java:490)
	at java.net.URL.<init>(URL.java:439)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:620)
	at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:148)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:805)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
	at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
	at Main3.main(Main3.java:184)

FAILURE: Build failed with an exception.

 

위와 같은 에러가 발생하였는데요.

파싱 하실 때 StringReader를 사용하여 xml을 읽어야 문제가 발생하지 않습니다 :)

Document doc = DocumentBuilderFactory.newInstance()
                .newDocumentBuilder()
                .parse(new InputSource(new StringReader(XML내용)));

 

감사합니다 :)

 

반응형
반응형

안녕하세요.

리눅스 환경에서 spring boot를 실행시켰을 때 Permission denied 에러가 발생하였습니다.

Caused by: java.net.SocketException: Permission denied
	at java.base/sun.nio.ch.Net.bind0(Native Method) ~[na:na]
	at java.base/sun.nio.ch.Net.bind(Net.java:455) ~[na:na]
	at java.base/sun.nio.ch.Net.bind(Net.java:447) ~[na:na]
	at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227) ~[na:na]
	at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80) ~[na:na]
	at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:228) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:211) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1227) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:592) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.catalina.connector.Connector.startInternal(Connector.java:1064) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	... 21 common frames omitted

 

에러가 발생한 원인은 간단했습니다.

구동할 때 포트를 80번 포트로 지정을 해놓았는데요.

리눅스에서는 <= 1024 포트에 대해서는 일반 사용자가 사용을 하지 못합니다.

그렇기 때문에 포트를 1025 이상 포트를 지정해주시면 되겠습니다.

 

감사합니다.

반응형

+ Recent posts