-
Create the
docker
groupsudo groupadd docker
-
Add your user to the
docker
groupsudo usermod -aG docker $USER
-
Log out and log back in so that your group membership is re-evaluated
docker --version
test docker versiondocker info
to view in details about docker installation
docker build -t username/name:tag .
build docker filedocker run <image-name>
run docker filedocker run -p <o/p port>:<i/p port> username/name:tag
run docker file exposed at input port
docker push username/name
push dockerfile to docker hubdocker push username/name:tag
push dockerfile with new tag
docker images
list docker imagesdocker image ls
list docker imagesdocker image rm <image ID>
remove a docker imagedocker image rm $(docker image ls -aq)
remove all images
docker container ls
list running containersdocker container ls --all
list all in running and quiet modedocker container ls -aq
list all container IDsdocker container stop <container ID>
stop a docker containerdocker container stop $(docker container ls -aq)
stop all containersdocker container rm <container ID>
remove a docker containerdocker container rm $(docker container ls -aq)
remove all containers
-
Assuming the project structure is standard and will build the app like a generic Go app.
FROM golang:onbuild
-
Customize Dockerfile example 1
FROM golang:latest RUN mkdir /app ADD . /app/ WORKDIR /app RUN go build CMD ["/app/app"]
-
Customize Dockerfile example 2
FROM golang:latest RUN go get -u github.com/spf13/cobra/cobra COPY . /go/src/temp WORKDIR /go/src/temp RUN go build CMD ["start"] ENTRYPOINT ["/go/src/temp/temp"]
-
Docker file example using Binary file
FROM busybox:glibc COPY BookListApi /bin/api ENTRYPOINT ["/bin/api"] EXPOSE 8000
-
Docker file example having port output
FROM golang:latest RUN go get -u github.com/spf13/cobra/cobra RUN go get -u github.com/gorilla/mux COPY . /go/src/github.com/kamolhasan/BookListApi WORKDIR /go/src/github.com/kamolhasan/BookListApi RUN go build ENTRYPOINT ["/go/src/github.com/kamolhasan/BookListApi/BookListApi"] EXPOSE 8000