GO 배우기 - docker를 사용하여 환경 만들기 - 1부
저는 Go를 배우고 이 일련의 기사에서 프로세스를 문서화하려는 Rails 개발자입니다. 이 기술을 배우고 있다는 점을 언급할 가치가 있으므로 제안을 환영합니다. :)
이 기사에서는 docker를 설정하고 Hello World로 테스트합니다!
내용의 테이블
도커 설정
가장 먼저 해야 할 일은 저장소에 폴더를 만드는 것입니다. 다음 명령을 사용하여 폴더를 만들고 해당 디렉터리로 이동할 수 있습니다.
mkdir learning_go
cd learning_go
이 명령은 learning_go
라는 새 폴더를 만듭니다. 우리가 할 모든 변경 사항은 이 폴더에 있습니다.
폴더가 생성되면 Dockerfile
및 docker-compose.yml
두 개의 파일을 생성해야 합니다. 다음 명령을 사용하여 이 파일을 만들 수 있습니다.
touch Dockerfile
touch docker-compose.yml
파일이 생성되면 즐겨 사용하는 텍스트 편집기에서 폴더를 열어야 합니다.
Dockerfile 콘텐츠는 다음과 같습니다.
FROM golang:1.19.2-alpine3.16
이것이 이 파일에 필요한 유일한 줄입니다. 알파인 리눅스를 기반으로 빌드되고 go 버전 1.19.2를 실행하는 이미지를 다운로드하도록 docker에 지시합니다.
이제 docker-compose.yml
파일 내용을 편집해야 합니다.
version: '3.9'
services:
learning_go:
container_name: learning_go
build: .
volumes:
- ./:/go/src/app
ports:
- "3000:3000"
working_dir: /go/src/app
tty: true
모든 작업이 완료되면 다음 명령을 실행해야 합니다.
docker-compose up -d
모든 것이 정상이면 다음과 같이 표시됩니다.

docker 컨테이너 내에서 명령을 실행하려면 다음 명령을 실행해야 합니다.
docker exec -it learning_go sh
안녕하세요 세상 만들기
이제 도커가 예상대로 실행되고 있으므로 테스트할 go 파일을 만들어야 하므로 애플리케이션의 루트 경로에 main.go
라는 파일을 만들고 이 콘텐츠를 설정합니다.
package main
import "fmt"
func main() {
fmt.Println("hello world!")
}
이 코드는 기본적인 Hello World 예제일 뿐입니다. 이 코드를 실행하려면 docker 컨테이너 내에서 다음 명령을 실행해야 합니다.
go run main.go
다음 출력이 표시되어야 합니다.

Github 리포지토리 생성
이제 모든 것이 작동하므로 github 저장소에 코드를 저장해야 합니다. 그렇게 하려면 this url에 액세스하고 다음 이미지와 같은 저장소 이름을 설정하기만 하면 됩니다.

완료되면 github에서 제공하는 지침을 따르기만 하면 됩니다.

결론
글쎄, 그게 다야! 주목 해 주셔서 감사합니다! 궁금한 점이 있으면 알려주세요. 이 프로젝트 저장소를 찾을 수 있습니다here.
Reference
이 문제에 관하여(GO 배우기 - docker를 사용하여 환경 만들기 - 1부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/augusto_queirantes/learning-go-creating-the-environment-using-docker-part-1-id2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
mkdir learning_go
cd learning_go
touch Dockerfile
touch docker-compose.yml
FROM golang:1.19.2-alpine3.16
version: '3.9'
services:
learning_go:
container_name: learning_go
build: .
volumes:
- ./:/go/src/app
ports:
- "3000:3000"
working_dir: /go/src/app
tty: true
docker-compose up -d
docker exec -it learning_go sh
이제 도커가 예상대로 실행되고 있으므로 테스트할 go 파일을 만들어야 하므로 애플리케이션의 루트 경로에
main.go
라는 파일을 만들고 이 콘텐츠를 설정합니다.package main
import "fmt"
func main() {
fmt.Println("hello world!")
}
이 코드는 기본적인 Hello World 예제일 뿐입니다. 이 코드를 실행하려면 docker 컨테이너 내에서 다음 명령을 실행해야 합니다.
go run main.go
다음 출력이 표시되어야 합니다.

Github 리포지토리 생성
이제 모든 것이 작동하므로 github 저장소에 코드를 저장해야 합니다. 그렇게 하려면 this url에 액세스하고 다음 이미지와 같은 저장소 이름을 설정하기만 하면 됩니다.

완료되면 github에서 제공하는 지침을 따르기만 하면 됩니다.

결론
글쎄, 그게 다야! 주목 해 주셔서 감사합니다! 궁금한 점이 있으면 알려주세요. 이 프로젝트 저장소를 찾을 수 있습니다here.
Reference
이 문제에 관하여(GO 배우기 - docker를 사용하여 환경 만들기 - 1부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/augusto_queirantes/learning-go-creating-the-environment-using-docker-part-1-id2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
글쎄, 그게 다야! 주목 해 주셔서 감사합니다! 궁금한 점이 있으면 알려주세요. 이 프로젝트 저장소를 찾을 수 있습니다here.
Reference
이 문제에 관하여(GO 배우기 - docker를 사용하여 환경 만들기 - 1부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/augusto_queirantes/learning-go-creating-the-environment-using-docker-part-1-id2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)