https://yeasy.gitbooks.io/docker_practice/image/dockerfile/workdir.html WORKDIR 指定工作目录 格式为 WORKDIR <工作目录路径>。 使用 WORKDIR 指令可以来指定工作目录(或者称为当前目录),以后各层的当前目录就被改为指定的目录,如该目录不存在,WORKDIR会帮你建立目录。 之前提到一些初学者常犯的错误是把 Dockerfile 等同于 Shell 脚本来书写,这种错误的理解还可能会导致出现下面这样的错误:RUN cd /app RUN echo “hello” > world.txt 如果将这个 Dockerfile 进行构建镜像运行后,会发现找不到 /app/world.txt 文件,或者其内容不是 hello。原因其实很简单,在 Shell 中,连续两行是同一个进程执行环境,因此前一个命令修改的内存状态,会直接影响后一个命令;而在 Dockerfile 中,这两行 RUN 命令的执行环境根本不同,是两个完全不同的容器。这就是对 Dockerfile 构建分层存储的概念不了解所导致的错误。 之前说过每一个 RUN 都是启动一个容器、执行命令、然后提交存储层文件变更。第一层 RUN cd /app 的执行仅仅是当前进程的工作目录变更,一个内存上的变化而已,其结果不会造成任何文件变更。而到第二层的时候,启动的是一个全新的容器,跟第一层的容器更完全没关系,自然不可能继承前一层构建过程中的内存变化。 因此如果需要改变以后各层的工作目录的位置,那么应该使用 WORKDIR 指令。

繼續閱讀

p.p1 {margin: 0.0px 0.0px 2.0px 0.0px; font: 14.0px ‘Helvetica Neue’; color: #454545; min-height: 17.0px} p.p2 {margin: 0.0px 0.0px 2.0px 0.0px; font: 14.0px ‘Helvetica Neue’; color: #454545} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ‘Helvetica Neue’; color: #454545; min-height: 15.0px} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ‘Helvetica Neue’; color: #454545} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ‘Helvetica Neue’; color: #454545; min-height: 14.0px} span.s1 {font: 12.0px ‘.PingFang TC’} span.

繼續閱讀

docker-machine on windows

1、close hyper-v https://ugetfix.com/ask/how-to-disable-hyper-v-in-windows-10/ 2、install Virtualbox 3、install git 4、https://docs.docker.com/machine/install-machine/#install-machine-directly git-bash base=https://github.com/docker/machine/releases/download/v0.14.0 && mkdir -p “$HOME/bin” && curl -L $base/docker-machine-Windows-x86_64.exe > “$HOME/bin/docker-machine.exe” && chmod +x “$HOME/bin/docker-machine.exe” 5、 git-bash docker-machine create –driver=virtualbox machine1 docker-machine -s d:\docker create –driver=virtualbox machine1 docker-machine list docker-machine ssh machine1 docker run hello-world docker-machine env machine1 https://hk.saowen.com/a/00c8a80e4a74fcf80111ba570f4db601e204c12f61e3109fec92cac8a15456ae docker-machine -s d:\docker create --driver=virtualbox --virtualbox-memory=2048 --virtualbox-cpu-count=2 --engine-opt dns=8.8.8.8 machine_name_ooxxooxx ===== http://sueboy.blogspot.com/2018/11/docker-machine-ssh-login-use-xshell-or.html user: docker id_rsa

繼續閱讀

windows docker go

1、go mkdir directory aaa create file go_httpserver.go package main import ( “fmt” “net/http” ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, “Welcome to my Website!!!\n %s”, r.URL.Path[1:]) } func main() { http.HandleFunc("/", handler) http.ListenAndServe(“0.0.0.0:80”, nil) } set GOARCH=amd64 set GOOS=linux go build go_httpserver.go => get linux go program 2、create docker image 2.1 install docker toolbox Link 2.2 run kitematic then see left-down DOCKER CLI , click it, then 2.2.1 create directory bbb

繼續閱讀

作者的圖片

Sue boy

Sueboy Can support You

CIO

Taiwan