Dockerfile tutorial
FROM golang:latest
Lệnh này là khai báo base image được dùng để tạo new image.
golang: tên base image
latest: version của base image, bạn cũng có thể dùng sha256 để xác định rõ một version golang@sha256
RUN mkdir /app
câu lệnh này dùng để thực thi một câu lệnh cmd trên new image, tương tư như câu lệnh trên terminal thông thường
Tạo một layer trong new image
Câu lệnh này đượng thực thi trong vòng đời "build time" nghĩa là build new image
ADD . /app/
Lệnh này dùng để copy thư mục hiện tại (.) vào thư mục app trên new image
WORKDIR /app
câu lệnh này tương tự như câu lệnh cd trong terminal, ý là chỉ con trỏ tới thư mục working /app
RUN go build -o main .
Lệnh này tương tự như bạn chạy câu lệnh trong terminal là "go build -o main"
CMD ["/app/main"]
lệnh này tương tự như lệnh RUN là chạy một câu lệnh nhưng nó cho phép bạn truyền thêm tham số
Lệnh này là lệnh running time trong vòng đời. Nó chỉ thực thi khi ảnh đã được build
Nó chỉ ra các đối số trong ngoặc
Nó KHÔNG tạo một layer trong image
Nó có thể bị ghi đè khi bạn chạy câu lệnh
docker run new_image_name cmd_here
ENTRYPOINT ["/bin/echo", "Hello world"]
Nó là câu lệnh chỉ được thực thi khi Container đã được khởi động
--------------------------------------------
docker build -t mjarvis -f Dockerfile.multistage .
. : build thư mục hiện tại
-f là chỉ rõ dockerfile
-t
--------------------------------------------
running container
docker run -e SETTING1=foo -e SETTING2=bar -p 3045:3044 -d mjarvis
-e thiết lập biến môi trường
-p thiết lập mapping local port tới container's port
-d là detach
-it là input attach with a terminal
-v volume
-------------------------------
build app as image: docker build -t mjarvis -f Dockerfile.multistage .
run as container: docker run -name xxx -e SETTING1=foo -e SETTING2=bar -p 3045:3044 -d mjarvis
stop container : docker stop id
start container: docker start id
remove container: docker rm id
--------------------
commit mot containner voi tag name:
docker tag tenimage bonh/remoteimage:1.1
push image to docker hub: docker push bonh/remoteimage:1.1
---------------
docker pull bonh/remoteimage:1.1
Lệnh này là khai báo base image được dùng để tạo new image.
golang: tên base image
latest: version của base image, bạn cũng có thể dùng sha256 để xác định rõ một version golang@sha256
RUN mkdir /app
câu lệnh này dùng để thực thi một câu lệnh cmd trên new image, tương tư như câu lệnh trên terminal thông thường
Tạo một layer trong new image
Câu lệnh này đượng thực thi trong vòng đời "build time" nghĩa là build new image
ADD . /app/
Lệnh này dùng để copy thư mục hiện tại (.) vào thư mục app trên new image
WORKDIR /app
câu lệnh này tương tự như câu lệnh cd trong terminal, ý là chỉ con trỏ tới thư mục working /app
RUN go build -o main .
Lệnh này tương tự như bạn chạy câu lệnh trong terminal là "go build -o main"
CMD ["/app/main"]
lệnh này tương tự như lệnh RUN là chạy một câu lệnh nhưng nó cho phép bạn truyền thêm tham số
Lệnh này là lệnh running time trong vòng đời. Nó chỉ thực thi khi ảnh đã được build
Nó chỉ ra các đối số trong ngoặc
Nó KHÔNG tạo một layer trong image
Nó có thể bị ghi đè khi bạn chạy câu lệnh
docker run new_image_name cmd_here
ENTRYPOINT ["/bin/echo", "Hello world"]
Nó là câu lệnh chỉ được thực thi khi Container đã được khởi động
--------------------------------------------
docker build -t mjarvis -f Dockerfile.multistage .
. : build thư mục hiện tại
-f là chỉ rõ dockerfile
-t
Docker has
ARG
that you can use hereFROM ubuntu:14.04
MAINTAINER Karl Morrison
ARG myVarHere
RUN do-something-here myVarHere
And then build using
--build-arg
:docker build --build-arg myVarHere=value
--------------------------------------------
running container
docker run -e SETTING1=foo -e SETTING2=bar -p 3045:3044 -d mjarvis
-e thiết lập biến môi trường
-p thiết lập mapping local port tới container's port
-d là detach
-it là input attach with a terminal
-v volume
-------------------------------
build app as image: docker build -t mjarvis -f Dockerfile.multistage .
run as container: docker run -name xxx -e SETTING1=foo -e SETTING2=bar -p 3045:3044 -d mjarvis
stop container : docker stop id
start container: docker start id
remove container: docker rm id
--------------------
commit mot containner voi tag name:
docker tag tenimage bonh/remoteimage:1.1
push image to docker hub: docker push bonh/remoteimage:1.1
---------------
docker pull bonh/remoteimage:1.1
----------------
docker run --restart=always --name my-first-redis -p 6379:6379 -d redis
Comments
Post a Comment