[BlockChain] NFT만들기, NFT거래 컨트랙트
·
개발/BlockChain
오픈제플린 표준규격을 활용하여 컨트랙트 구성 1. NFTToken.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.17; import "../node_modules/openzeppelin-solidity/contracts/token/ERC721/extensions/ERC721Enumerable.sol"; import "../node_modules/openzeppelin-solidity/contracts/access/Ownable.sol"; import "../node_modules/openzeppelin-solidity/contracts/utils/Strings.sol"; contract NFTToken is ERC721Enumerable, Ownab..
[Docker] 도커 마운트 경로 오류
·
개발/Docker
docker run -p 3000:80 -d --rm --name feedback-app -v feedback:/app/feedback -v "$(pwd)":/app -v /app/node_modules test:volumes 위 코드로 마운트를 하고 익명 볼륨으로 node_modules를 복사하려 했다. 하지만 아래와 같이 경로가 이상하게 잡혔다. 구글링을해도 찾기 원인을 찾기 힘들었고 별의별짓을 다해본것 같다. 문제는 내가 사용하는 터미널의 문제였다. 나는 GitBash를 사용했는데 이 터미널이 자동적으로 루트경로를 Git으로 잡아놓는 것이었다. 그래서 일반 cmd 터미널로 명령어를 다시 입력하니 잘 작동됬다.
[Docker] DockerHub 사용하기
·
개발/Docker
1. 이미지를 공유하는 방법 이미지가 있는 모든 사람은 그 이미지를 기반으로 컨테이너를 만들수 있다. 물론 이는 우리가 실제로 컨테이너를 공유하지 않는다는 의미이기도 하다. (1) Dockerfile 옮기기 Dockerfile을 전달해서 전달받은 사용자가 이미지를 build하고 컨테이너를 생성하여 사용할 수 있다. (2) DockerHub GitHub와 비슷하게 Dokcer에도 이미지를 push하고 pull 할수 있는 DockerHub가 있다. 도커 허브는 공식 도커 이미지 저장소이지만 이미지를 처리하는 방법과 이미지를 저장하고 배포하는데 사용할수 있는 수천개의 다른 서비스가 있다. 나중에 배포를 하게 되면 개인저장소를 더 많이 활용할 것이다. 2. DockerHub (1) push create repo..
[Docker] Docker 명령어
·
개발/Docker
1. attached vs detached 모든 프로세스 확인하기 docker ps -a 다시 시작 docker start 아이디 docker run 과 docker start의 차이 run으로 컨테이너를 실행하면 터미널에 접근할 수 없지만 start는 터미널에 접근할 수 있다. start는 detached모드가 디폴트이며 run은 attached 모드가 디폴트이기 때문이다. attached 모드는 그 컨테이너의 출력결과를 수신한다는 것을 의미한다. 예를 들어 콘솔에 출력되는 내용같은 것들이다. -d 플래그를 이용해 detached 모드로 접근할수 있다. docker run -d 아이디 실행중인 컨테이너에 attached 모드로 접근하는법 (1) docker attach 이름 (2) docker logs..
[Docker] Dockerfile
·
개발/Docker
1. Docker 도커가 없다면 NodeJS환경에서 프로젝트 진행시 npm install로 모듈들을 설치해줘야 한다. 하지만 도커가 있다면 이들을 설치하지 않고 사용할 수 있다. 2. Dockerfile Dockerfile이란 파일명을 도커가 식별한다. Dockerfile에는 자체 이미지를 빌드할때 실행하려는 도커에 대한 명령이 포함된다. Dockerfile 예시 FROM node WORKDIR /app COPY . /app RUN npm install EXPOSE 80 CMD ["node", "server.js"] FROM 일반적으로 FROM 명령어로 시작한다. 이를 통해 다른 베이스 이미지에 나만의 이미지를 구축할 수 있다. node라는 이미지로부터 시작한다는 뜻이다. 이미 나만의 시스템에 존재하거나..
[Docker] 이미지와 컨테이너
·
개발/Docker
1. 이미지란? 이미지는 템플릿, 컨테이너의 청사진이다. 이미지는 실제로 코드와 코드를 실행하는데 필요한 도구를 포함한다. 그 다음 컨테이너가 실행되어 코드를 실행한다. 이미지를 기반으로 여러 컨테이너를 만들수 있다. 예를 들어 NodeJS 웹 서버 애플리케이션의 경우 한번만 정의하면 다른 시스템과 다른 서버에서 여러번 실행할 수 있다. 컨테이너는 그러한 이미지의 구체적인 실행 인스턴스이다. 즉, 이미지는 블루프린트이고 템플릿은 코드와 애플리케이션을 포함하며 컨테이너는 실행 애플리케이션이 된다. 2. 컨테이너 생성 로컬에 노드 이미지가 없다면 도커허브에서 자동으로 다운받는다. docker run node 기본적으로 컨테이너는 주변 환경과 격리되어 있으며 컨테이너 내부에서 실행중인 인터렉티브 쉘이 있다고 ..