개발일지 (21) 썸네일형 리스트형 [docker] docker commit image docker에서 application을 각각 띄우게 되면 기본 바탕으로 아주 최소한의 ubuntu위에 생기게 되고 이때는 최소한으로 생기게 하기 위해 웬만한 명령어가 실행되지 않는다 이때 vim도 없고 ps도 없고 없는게 엄청 많다 컨테이너를 생성할때마다 명령어들을 다운받는게 굉장히 귀찮다 이에 하나의 해결방법으로 commit을 해서 현재에 있는 container상태를 이미지화 해놓는것이다. 예를 들어 지금 테스트 용으로 centos:centos7을 사용하고 있는데 항상 설치하자마자 여기에 yum 으로 여러가지를 다운 받는다 하지만 아래와 같이 현재 컨테이너 상태를 이미지화 해놓으면 이미지화 된 컨테이너를 다음에 또 띄움으로 yum을 더이상 하지 않아도 되는것이다. docker commit [contai.. [docker] docker 이미지 지우기 도커 이미지 리스트 보기 $ docker images docker 이미지들을 계속 pull 받게 되면 이미지가 계속 생기게 되어 이미지 리스트들이 늘어나고 그 이미지들의 리스트 때문에 용량을 많이 차지하게 된다. $ docker rmi [docker image id] 를 쓰게 되면 docker image를 지울수 있다. 이때 도커 이미지가 이미 사용중이라서 지울수 없다는 멘트가 나오면 $ docker ps -a 을 이용해서 현재 컨테이너 리스트들을 확인한다. 컨테이너에 사용되고 있는 이미지라서 삭제할 수 없다고 하는 이야기니까 컨테이너를 지운뒤 이미지를 지우면 지울 수 있다. [docker] docker hub의 push가 안되는 현상 빌드도 잘 되고, 분명 성공했으나 바뀐게 없다고 같은 hash값을 return 하는 현상을 겪음 docker build를 하고 push를 했는데 자꾸 최신 버전이라고 하고 제대로 push가 안되는 듯한 느낌을 받았다. 모든것이 성공적이어 보이는듯 했지만 docker에도 같은 파일이면 build할때 캐시를 머뭄고 있다고 한다. 계속 생겼던 그 문제가 캐시 때문이었다고 단정할 수는 없지만 유추해보기엔 캐시를 머뭄고 있는데 계속 내가 태그 안주고 latest로 올려서 그런거 같다는 생각을 하고 있다. 이에 이것을 태그도 주고 캐시를 지우면서 build를 시키니 정말 push 할것을 찾았다. 명령어는 다음과 같다. docker build --no-cache=false -t id/repository:tag . d.. [postman] 포스트맨으로 request 보내기 (파일,데이터) 개발을 진행하다보니 postman으로 테스트를 하는 경우가 많이 생겼는데 파일을 여러개 보내고 싶다거나 json데이터를 보내는것을 테스트 해보고 싶은데 때마다 잊어서 써놓으려고 한다. 우선 내가 하려고 했던것은 json데이터와 파일을 여러개 보내야 하는 상황이었다. 이때 json데이터만 보내는 것은 json으로 보내지는데 내가 보낼때는 같이 보내야 해서 json을 string으로 받아서 보냈다. json은 string com , file은 arrayList files 로 requestParam으로 보냈다. reqeustPart로 사람들은 이용하던데 아무리 해도 설정을 잘 못했는지 조금 더 찾아보고 할 예정이다. requestParam으로 보낼때 postman에서는 param으로 설정한 이름으로 보내줘야 .. [spring boot] file 업로드시 톰캣 경로가 모두 나오는 경우 spring boot를 이용해서 개발을 하는 도중 톰캣의 경로가 모두 한꺼번에 나오면서 파일의 위치를 찾지 못하는 문제가 생겼다. 에러는 다음과 같다 C:\Users\yy\AppData\Local\Temp\tomcat.4490009822129612418.80\work\Tomcat\localhost\ROOT\e\study\imageTest\springboot.png (지정된 경로를 찾을 수 없습니다) 기존에 경로를 이용해서 잘 업로드 하다가 linux서버에 올리기위해 경로 바꾸고 윈도우에서 다시 바꾸니 갑자기 업로드에 실패하여 당황했다. 이런경우가 생긴 이유는 다음과 같다. spring boot는 기본적으로 톰캣이 내장되어있어 서버를 따로 띄우지 않는데 파일 업로드경로도 temp폴더를 설정을 해주는 모양이.. [docker] docker hub push, pull 목표 : 이미지 생성, 배포 본인이 가지고 있는 프로젝트 혹은 올리고 싶은 것이 있을때, docker hub를 이용해서 프로젝트를 push 한 다음 도커 커맨드로 이미지를 내려 받아 올리게 된다. 1. mvn clean packae 2. docker build 3. docker login 4. docker push 5. docker pull > mvn clean package 이때 도커의 이미지를 docker hub에 올려야하는데 이 도커 허브에 올리기 위해선 우선 login을 먼저 해야한다. window에서 docker desktop을 이용하면 ui로 실행할 수 있지만, cli로 하는게 추후에도 도움이 많이 될 테니 cli로 일부러 사용하려고 노력을 할 예정이다. > docker build --tag .. [mongodb] mongodb collection 생성 우선 use admin ( db이름 ) 으로 db에 접속한다. db에 접속한 후 먼저 collection을 만들고 collection안에 document를 만들도록 한다. > db.createCollection("collectiontest") 이러면 db 컬렉션을 collectiontest라는 이름으로 생기게 된다. >db.commectiontest.insert([{"name":"yy","sex":"female"}]); 이렇게 하면 내가 만든 collectiontest라는 컬렉션에 document를 insert하게 된다 >db.collectiontest.find(); 이렇게 하면 해당 컬렉션 안에 있는 document를 볼 수 있다. [docker][mongodb] docker mongodb 접속 docker의 몽고 디비에 접속하여 계정을 생성하고 spring boot에서 접속하는 방법 1. docker커멘드 라인에서 - docker exec -it mongo mongo admin 2. admin이라는 db에 접속하여 admin db에서 계정을 생성하려면 - use admin 3. 계정 생성 - db.createUser({"user":"yy2","pwd":"yy", roles:["dbAdminAnyDatabase"]}) 계정생성 성공시 successfully added user: { 생성한 유저 정보 } 이렇게 하면 docker위에 올라간 mongodb에 계정을 생성할 수 있다. 이런데 spring boot 에서 db를 연결하려고 하니까 연결이 안되더라 알고보니 도커를 띄울때 포트를 맞춰서 띄워야.. 이전 1 2 3 다음