#docker-dev

/

      • jlhawn
        nope... it's legal
      • I just tagged something as '-'
      • tibor
        jlhawn: well, let's forbid it :)
      • should not start with -
      • jlhawn
        I don't know why anyone would ever do it... but yeah
      • MalteJ
        yeah
      • tibor
        alright problem solved
      • next!
      • jlhawn
        next on the docker docket
      • tibor
        duglin: what do you think of a docker build --step (heavily borrowing from docker commit --change)
      • erikh
        tibor: processed before dockerfile processing
      • achanda has quit
      • so we could technically do it
      • tibor
        duglin: we would need a way of saying "start a build", and "end the build"
      • duglin: and what happens if there are errors, or no more docker build commands?
      • maybe commit --change makes sense with an empty container
      • erikh
        I think it'd be confusing though
      • doublerr joined the channel
      • I really liked DOCKER-VERSION
      • or something similar. less confusion that way.
      • tibor
        erikh: that's a differnet thing :)
      • erikh
        we're trying to determine whether or not we're working with a v2 file, right?
      • tibor
        right, in this case it's not mutually exclusive
      • duglin
        FROM vs BASE
      • tibor
        duglin: could be
      • erikh
        I don't think inferring this is the right approach
      • being explicit, POLS, etc.
      • tibor
        i actually said in the comments, that we could just use commit --change (or similar), AND fix the quoting in a v3
      • v2*
      • duglin
        I think forcing people to put a version string _forever_ is kind of annoying
      • erikh
        vagrant does it
      • duglin
        and if they jumped off a bridge…. :-)
      • tibor
        erikh: argument of authority :)
      • erikh
        think of it as our little shebang
      • yes yes yes
      • DIAF, all of you :P
      • tibor
        lol noo
      • vikumar has quit
      • dockerbot joined the channel
      • dockerbot
        [13docker] 15jfrazelle closed pull request #8669: Use dual-stack Dialer when talking to registy (06master...068668-dualstack-registry) 02http://git.io/4m2Mug
      • dockerbot has left the channel
      • tibor
        you know what, i'll just use that commit --change PR and come up with a PoC and show it to you guys
      • erikh
        as for commit --change I think that's a great way to solve the same problem much less safely
      • tibor
        erikh: why??
      • erikh
        because the tools need to execute on the client
      • tibor
        explain
      • duglin
        I would love to see a PoC to get my head around this commit —change stuff better
      • erikh
        so we'd have a shell/ruby/perl/etc script to call commit --change?
      • which initiates from teh client, not the daemon
      • also, there are context issues there
      • I think.
      • duglin
        I assume it would copy the build context to the server each time?
      • tibor
        erikh: all we'd have is commit --change (or equivalent), and then people (and for the PoC, that'll be me) write libraries to wrap commit --change
      • not each time
      • erikh
        right, but those libraries, and the tools that consume them can break out of the context
      • tibor
        just at creation of the initial container
      • that will be the image
      • duglin
        how long does the daemon need to hang on to it?
      • tibor
        right..
      • smcquaid joined the channel
      • erikh
        the context? for the lifetime of the build
      • tibor
        duglin: that was my question earlier
      • erikh
        and some contexts are very large.
      • duglin
        build context is in the daemon not the container so we need to remove it eventually.
      • tibor
        duglin: we could remove it from the container
      • duglin
        And can you run “build —commit” from a machine that doesn’t have the context at all?
      • tibor
        good questions
      • :)
      • smcquaid has quit
      • im writing them down
      • erikh
        should we allow that? I don't think that's a good idea.
      • man sorry to be so stubborn, but I think the toolkit approach is the best one still
      • tibor
        erikh: that's what i'm trying to prove :)
      • erikh
        it effectively makes docker a CMDB and the toolkits can be consumed by any language.
      • duglin
        toolkit == “convert Dockerfile commands into stand-alone exe’s”, right?
      • erikh
        more or less, yeah
      • smcquaid joined the channel
      • tibor
        erikh: what i'm trying to do with this --change thing is to see where it breaks, and where introspection could help, because right now for me it's not 100% clear
      • erikh
        tibor: write a tool that breaks out of the context
      • that should break it.
      • tibor
        erikh: i'll have to think and code
      • erikh
        sure
      • don't try to do those at the same time though
      • it'll make you go blind
      • smcquaid has quit
      • vbatts|work
        hahaha
      • tibor
        lol
      • smcquaid joined the channel
      • kellyp has quit
      • juztin_ joined the channel
      • duglin
        erikh: would the toolkit have the same issues? ie. does need to copy the context over each time?
      • darn - landing soon so I’ll lose my connection soon
      • vvikus has quit
      • vvikus joined the channel
      • MalteJ
        someone likes to merge this? https://github.com/docker/docker/pull/8390
      • mkaesz joined the channel
      • duglin
        erikh: if we assumed that we’d eventually figure out a way to know if we’re doing v1 vs v2 parsing…. are you saying that even so, you’d want us to consider getting rid of Dockerfiles entirely (ignoring backwards compat) and use the toolkit approach?
      • c4milo has quit
      • lk4d4_
        MalteJ: jessfraz today merging everything :)
      • MalteJ
        :)
      • mkaesz has quit
      • fingers crossed
      • jessfraz
        oh ya I was just worried about the flag and if we needed design approval
      • erikh
        duglin: I'm suggesting we amend the dockerfile in a way to render it merely as a bootstrapping mechanism for the build toolkit
      • 1) preserves backwards compat 2) maximum flexibility
      • and if we sum the script used to build, we still get caching.
      • lk4d4_
        MalteJ: actually I think test could be more cool if you'd check real macaddr in container
      • but IIRC ip segfaults in busybox now :/
      • erikh
        can't netlink do this?
      • oh heh
      • lk4d4_
        actually ip link list working
      • MalteJ: you shouldn't show me this PR :D
      • erikh
        does ip link show veth1234 work?
      • actually duh, I can test it
      • kellyp joined the channel
      • yeah, it works.
      • duglin has quit
      • ip link show eth0 | tail -1 | awk '{ print $3 }' I think
      • tibor
        erikh: lk4d4_ MalteJ and jessfraz all have the same color on irccloud lol
      • duglin joined the channel
      • duglin has quit
      • erikh
        $2
      • not $3
      • [12] erikh@docker ~% docker run busybox sh -c "ip link show eth0 | tail -1 | awk '{ print \$2 }'"
      • 02:42:ac:11:00:31
      • fwiw
      • MalteJ
        great, thanks :)
      • vrm joined the channel
      • buckaroo has quit
      • chrismckinnel joined the channel
      • donhcd has quit
      • aweiteka has quit
      • pblittle joined the channel
      • kellyp has quit
      • aanand
        Folks, can anyone explain something to me? When I compile a docker binary (inside a container) with `hack/make.sh binary` and run it with the `-h` flag, it shows me a big list of flags supported by the daemon. However, when I compile multiple binaries with `hack/make.sh cross`, it has a much shorter list (--api-enable-cors, -D, -d, -G, -H, --tls-* and -v).
      • It also doesn't support any of the missing flags.
      • erikh
        cross is the client IIRC, where binary is the daemon
      • at least that's what I seem to recall, but I'm probably wrong
      • Djelibeybi joined the channel
      • c4milo joined the channel
      • aweiteka joined the channel
      • lk4d4_
        aanand: from which dir in bundles you get binary?
      • aanand
        lk4d4_: in the case of cross, ./bundles/1.3.0-dev/cross/linux/386/docker
      • erikh: Really? I had no idea we built two separate binaries for client and daemon.
      • lk4d4_
        aanand: only supported arch for daemon is amd64
      • erikh
        well, I think we control this with a build tag
      • lk4d4_
        all other is client-only binaries
      • erikh
        +build linux or something like that.
      • aanand
        lk4d4_: ah, I see.
      • lk4d4_
        aanand: you can see this in hack/make/cross