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
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.