Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Victor Vieux authored on 2014/07/25 07:19:50... | ... |
@@ -193,7 +193,7 @@ Jean-Baptiste Barth <jeanbaptiste.barth@gmail.com> |
193 | 193 |
Jean-Baptiste Dalido <jeanbaptiste@appgratis.com> |
194 | 194 |
Jeff Lindsay <progrium@gmail.com> |
195 | 195 |
Jeremy Grosser <jeremy@synack.me> |
196 |
-Jérôme Petazzoni <jerome.petazzoni@dotcloud.com> |
|
196 |
+Jérôme Petazzoni <jerome.petazzoni@docker.com> |
|
197 | 197 |
Jesse Dubay <jesse@thefortytwo.net> |
198 | 198 |
Jilles Oldenbeuving <ojilles@gmail.com> |
199 | 199 |
Jim Alateras <jima@comware.com.au> |
... | ... |
@@ -418,7 +418,7 @@ Tzu-Jung Lee <roylee17@gmail.com> |
418 | 418 |
Ulysse Carion <ulyssecarion@gmail.com> |
419 | 419 |
unclejack <unclejacksons@gmail.com> |
420 | 420 |
vgeta <gopikannan.venugopalsamy@gmail.com> |
421 |
-Victor Coisne <victor.coisne@dotcloud.com> |
|
421 |
+Victor Coisne <victor.coisne@docker.com> |
|
422 | 422 |
Victor Lyuboslavsky <victor@victoreda.com> |
423 | 423 |
Victor Marmol <vmarmol@google.com> |
424 | 424 |
Victor Vieux <victor.vieux@docker.com> |
... | ... |
@@ -6,7 +6,7 @@ feels wrong or incomplete. |
6 | 6 |
|
7 | 7 |
## Reporting Issues |
8 | 8 |
|
9 |
-When reporting [issues](https://github.com/dotcloud/docker/issues) on |
|
9 |
+When reporting [issues](https://github.com/docker/docker/issues) on |
|
10 | 10 |
GitHub please include your host OS (Ubuntu 12.04, Fedora 19, etc). |
11 | 11 |
Please include: |
12 | 12 |
|
... | ... |
@@ -53,7 +53,7 @@ else is working on the same thing. |
53 | 53 |
### Create issues... |
54 | 54 |
|
55 | 55 |
Any significant improvement should be documented as [a GitHub |
56 |
-issue](https://github.com/dotcloud/docker/issues) before anybody |
|
56 |
+issue](https://github.com/docker/docker/issues) before anybody |
|
57 | 57 |
starts working on it. |
58 | 58 |
|
59 | 59 |
### ...but check for existing issues first! |
... | ... |
@@ -180,7 +180,7 @@ One way to automate this, is customize your git `commit.template` by adding |
180 | 180 |
a `prepare-commit-msg` hook to your Docker repository: |
181 | 181 |
|
182 | 182 |
``` |
183 |
-curl -sSL -o .git/hooks/prepare-commit-msg https://raw.githubusercontent.com/dotcloud/docker/master/contrib/prepare-commit-msg.hook && chmod +x .git/hooks/prepare-commit-msg |
|
183 |
+curl -sSL -o .git/hooks/prepare-commit-msg https://raw.githubusercontent.com/docker/docker/master/contrib/prepare-commit-msg.hook && chmod +x .git/hooks/prepare-commit-msg |
|
184 | 184 |
``` |
185 | 185 |
|
186 | 186 |
* Note: the above script expects to find your GitHub user name in `git config --get github.user` |
... | ... |
@@ -6,7 +6,7 @@ |
6 | 6 |
# docker build -t docker . |
7 | 7 |
# |
8 | 8 |
# # Mount your source in an interactive container for quick testing: |
9 |
-# docker run -v `pwd`:/go/src/github.com/dotcloud/docker --privileged -i -t docker bash |
|
9 |
+# docker run -v `pwd`:/go/src/github.com/docker/docker --privileged -i -t docker bash |
|
10 | 10 |
# |
11 | 11 |
# # Run the test suite: |
12 | 12 |
# docker run --privileged docker hack/make.sh test |
... | ... |
@@ -62,7 +62,7 @@ RUN cd /usr/local/lvm2 && ./configure --enable-static_link && make device-mapper |
62 | 62 |
# Install Go |
63 | 63 |
RUN curl -sSL https://go.googlecode.com/files/go1.2.1.src.tar.gz | tar -v -C /usr/local -xz |
64 | 64 |
ENV PATH /usr/local/go/bin:$PATH |
65 |
-ENV GOPATH /go:/go/src/github.com/dotcloud/docker/vendor |
|
65 |
+ENV GOPATH /go:/go/src/github.com/docker/docker/vendor |
|
66 | 66 |
RUN cd /usr/local/go/src && ./make.bash --no-clean 2>&1 |
67 | 67 |
|
68 | 68 |
# Compile Go for cross compilation |
... | ... |
@@ -94,11 +94,11 @@ RUN groupadd -r docker |
94 | 94 |
RUN useradd --create-home --gid docker unprivilegeduser |
95 | 95 |
|
96 | 96 |
VOLUME /var/lib/docker |
97 |
-WORKDIR /go/src/github.com/dotcloud/docker |
|
97 |
+WORKDIR /go/src/github.com/docker/docker |
|
98 | 98 |
ENV DOCKER_BUILDTAGS apparmor selinux |
99 | 99 |
|
100 | 100 |
# Wrap all commands in the "docker-in-docker" script to allow nested containers |
101 | 101 |
ENTRYPOINT ["hack/dind"] |
102 | 102 |
|
103 | 103 |
# Upload docker source |
104 |
-COPY . /go/src/github.com/dotcloud/docker |
|
104 |
+COPY . /go/src/github.com/docker/docker |
... | ... |
@@ -10,7 +10,7 @@ GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null) |
10 | 10 |
GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null) |
11 | 11 |
DOCKER_IMAGE := docker$(if $(GIT_BRANCH),:$(GIT_BRANCH)) |
12 | 12 |
DOCKER_DOCS_IMAGE := docker-docs$(if $(GIT_BRANCH),:$(GIT_BRANCH)) |
13 |
-DOCKER_MOUNT := $(if $(BINDDIR),-v "$(CURDIR)/$(BINDDIR):/go/src/github.com/dotcloud/docker/$(BINDDIR)") |
|
13 |
+DOCKER_MOUNT := $(if $(BINDDIR),-v "$(CURDIR)/$(BINDDIR):/go/src/github.com/docker/docker/$(BINDDIR)") |
|
14 | 14 |
|
15 | 15 |
DOCKER_RUN_DOCKER := docker run --rm -it --privileged -e TESTFLAGS -e TESTDIRS -e DOCKER_GRAPHDRIVER -e DOCKER_EXECDRIVER $(DOCKER_MOUNT) "$(DOCKER_IMAGE)" |
16 | 16 |
# to allow `make DOCSDIR=docs docs-shell` |
... | ... |
@@ -10,9 +10,9 @@ import ( |
10 | 10 |
"strings" |
11 | 11 |
"text/template" |
12 | 12 |
|
13 |
- flag "github.com/dotcloud/docker/pkg/mflag" |
|
14 |
- "github.com/dotcloud/docker/pkg/term" |
|
15 |
- "github.com/dotcloud/docker/registry" |
|
13 |
+ flag "github.com/docker/docker/pkg/mflag" |
|
14 |
+ "github.com/docker/docker/pkg/term" |
|
15 |
+ "github.com/docker/docker/registry" |
|
16 | 16 |
) |
17 | 17 |
|
18 | 18 |
var funcMap = template.FuncMap{ |
... | ... |
@@ -22,19 +22,19 @@ import ( |
22 | 22 |
"text/template" |
23 | 23 |
"time" |
24 | 24 |
|
25 |
- "github.com/dotcloud/docker/api" |
|
26 |
- "github.com/dotcloud/docker/archive" |
|
27 |
- "github.com/dotcloud/docker/dockerversion" |
|
28 |
- "github.com/dotcloud/docker/engine" |
|
29 |
- "github.com/dotcloud/docker/nat" |
|
30 |
- "github.com/dotcloud/docker/opts" |
|
31 |
- "github.com/dotcloud/docker/pkg/signal" |
|
32 |
- "github.com/dotcloud/docker/pkg/term" |
|
33 |
- "github.com/dotcloud/docker/pkg/units" |
|
34 |
- "github.com/dotcloud/docker/registry" |
|
35 |
- "github.com/dotcloud/docker/runconfig" |
|
36 |
- "github.com/dotcloud/docker/utils" |
|
37 |
- "github.com/dotcloud/docker/utils/filters" |
|
25 |
+ "github.com/docker/docker/api" |
|
26 |
+ "github.com/docker/docker/archive" |
|
27 |
+ "github.com/docker/docker/dockerversion" |
|
28 |
+ "github.com/docker/docker/engine" |
|
29 |
+ "github.com/docker/docker/nat" |
|
30 |
+ "github.com/docker/docker/opts" |
|
31 |
+ "github.com/docker/docker/pkg/signal" |
|
32 |
+ "github.com/docker/docker/pkg/term" |
|
33 |
+ "github.com/docker/docker/pkg/units" |
|
34 |
+ "github.com/docker/docker/registry" |
|
35 |
+ "github.com/docker/docker/runconfig" |
|
36 |
+ "github.com/docker/docker/utils" |
|
37 |
+ "github.com/docker/docker/utils/filters" |
|
38 | 38 |
) |
39 | 39 |
|
40 | 40 |
const ( |
... | ... |
@@ -11,10 +11,10 @@ import ( |
11 | 11 |
"runtime" |
12 | 12 |
"strings" |
13 | 13 |
|
14 |
- "github.com/dotcloud/docker/api" |
|
15 |
- "github.com/dotcloud/docker/dockerversion" |
|
16 |
- "github.com/dotcloud/docker/pkg/term" |
|
17 |
- "github.com/dotcloud/docker/utils" |
|
14 |
+ "github.com/docker/docker/api" |
|
15 |
+ "github.com/docker/docker/dockerversion" |
|
16 |
+ "github.com/docker/docker/pkg/term" |
|
17 |
+ "github.com/docker/docker/utils" |
|
18 | 18 |
) |
19 | 19 |
|
20 | 20 |
func (cli *DockerCli) dial() (net.Conn, error) { |
... | ... |
@@ -17,12 +17,12 @@ import ( |
17 | 17 |
"strings" |
18 | 18 |
"syscall" |
19 | 19 |
|
20 |
- "github.com/dotcloud/docker/api" |
|
21 |
- "github.com/dotcloud/docker/dockerversion" |
|
22 |
- "github.com/dotcloud/docker/engine" |
|
23 |
- "github.com/dotcloud/docker/pkg/term" |
|
24 |
- "github.com/dotcloud/docker/registry" |
|
25 |
- "github.com/dotcloud/docker/utils" |
|
20 |
+ "github.com/docker/docker/api" |
|
21 |
+ "github.com/docker/docker/dockerversion" |
|
22 |
+ "github.com/docker/docker/engine" |
|
23 |
+ "github.com/docker/docker/pkg/term" |
|
24 |
+ "github.com/docker/docker/registry" |
|
25 |
+ "github.com/docker/docker/utils" |
|
26 | 26 |
) |
27 | 27 |
|
28 | 28 |
var ( |
... | ... |
@@ -5,9 +5,9 @@ import ( |
5 | 5 |
"mime" |
6 | 6 |
"strings" |
7 | 7 |
|
8 |
- "github.com/dotcloud/docker/engine" |
|
9 |
- "github.com/dotcloud/docker/pkg/version" |
|
10 |
- "github.com/dotcloud/docker/utils" |
|
8 |
+ "github.com/docker/docker/engine" |
|
9 |
+ "github.com/docker/docker/pkg/version" |
|
10 |
+ "github.com/docker/docker/utils" |
|
11 | 11 |
) |
12 | 12 |
|
13 | 13 |
const ( |
... | ... |
@@ -22,14 +22,14 @@ import ( |
22 | 22 |
|
23 | 23 |
"code.google.com/p/go.net/websocket" |
24 | 24 |
|
25 |
- "github.com/dotcloud/docker/api" |
|
26 |
- "github.com/dotcloud/docker/engine" |
|
27 |
- "github.com/dotcloud/docker/pkg/listenbuffer" |
|
28 |
- "github.com/dotcloud/docker/pkg/systemd" |
|
29 |
- "github.com/dotcloud/docker/pkg/user" |
|
30 |
- "github.com/dotcloud/docker/pkg/version" |
|
31 |
- "github.com/dotcloud/docker/registry" |
|
32 |
- "github.com/dotcloud/docker/utils" |
|
25 |
+ "github.com/docker/docker/api" |
|
26 |
+ "github.com/docker/docker/engine" |
|
27 |
+ "github.com/docker/docker/pkg/listenbuffer" |
|
28 |
+ "github.com/docker/docker/pkg/systemd" |
|
29 |
+ "github.com/docker/docker/pkg/user" |
|
30 |
+ "github.com/docker/docker/pkg/version" |
|
31 |
+ "github.com/docker/docker/registry" |
|
32 |
+ "github.com/docker/docker/utils" |
|
33 | 33 |
"github.com/gorilla/mux" |
34 | 34 |
) |
35 | 35 |
|
... | ... |
@@ -11,9 +11,9 @@ import ( |
11 | 11 |
"strings" |
12 | 12 |
"testing" |
13 | 13 |
|
14 |
- "github.com/dotcloud/docker/api" |
|
15 |
- "github.com/dotcloud/docker/engine" |
|
16 |
- "github.com/dotcloud/docker/pkg/version" |
|
14 |
+ "github.com/docker/docker/api" |
|
15 |
+ "github.com/docker/docker/engine" |
|
16 |
+ "github.com/docker/docker/pkg/version" |
|
17 | 17 |
) |
18 | 18 |
|
19 | 19 |
func TestGetBoolParam(t *testing.T) { |
... | ... |
@@ -16,9 +16,9 @@ import ( |
16 | 16 |
"strings" |
17 | 17 |
"syscall" |
18 | 18 |
|
19 |
- "github.com/dotcloud/docker/pkg/system" |
|
20 |
- "github.com/dotcloud/docker/utils" |
|
21 |
- "github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
19 |
+ "github.com/docker/docker/pkg/system" |
|
20 |
+ "github.com/docker/docker/utils" |
|
21 |
+ "github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
22 | 22 |
) |
23 | 23 |
|
24 | 24 |
type ( |
... | ... |
@@ -11,7 +11,7 @@ import ( |
11 | 11 |
"testing" |
12 | 12 |
"time" |
13 | 13 |
|
14 |
- "github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
14 |
+ "github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
15 | 15 |
) |
16 | 16 |
|
17 | 17 |
func TestCmdStreamLargeStderr(t *testing.T) { |
... | ... |
@@ -11,9 +11,9 @@ import ( |
11 | 11 |
"syscall" |
12 | 12 |
"time" |
13 | 13 |
|
14 |
- "github.com/dotcloud/docker/pkg/system" |
|
15 |
- "github.com/dotcloud/docker/utils" |
|
16 |
- "github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
14 |
+ "github.com/docker/docker/pkg/system" |
|
15 |
+ "github.com/docker/docker/utils" |
|
16 |
+ "github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
17 | 17 |
) |
18 | 18 |
|
19 | 19 |
type ChangeType int |
... | ... |
@@ -10,7 +10,7 @@ import ( |
10 | 10 |
"strings" |
11 | 11 |
"syscall" |
12 | 12 |
|
13 |
- "github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
13 |
+ "github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
14 | 14 |
) |
15 | 15 |
|
16 | 16 |
// Linux device nodes are a bit weird due to backwards compat with 16 bit device nodes. |
... | ... |
@@ -3,14 +3,14 @@ package builtins |
3 | 3 |
import ( |
4 | 4 |
"runtime" |
5 | 5 |
|
6 |
- "github.com/dotcloud/docker/api" |
|
7 |
- apiserver "github.com/dotcloud/docker/api/server" |
|
8 |
- "github.com/dotcloud/docker/daemon/networkdriver/bridge" |
|
9 |
- "github.com/dotcloud/docker/dockerversion" |
|
10 |
- "github.com/dotcloud/docker/engine" |
|
11 |
- "github.com/dotcloud/docker/registry" |
|
12 |
- "github.com/dotcloud/docker/server" |
|
13 |
- "github.com/dotcloud/docker/utils" |
|
6 |
+ "github.com/docker/docker/api" |
|
7 |
+ apiserver "github.com/docker/docker/api/server" |
|
8 |
+ "github.com/docker/docker/daemon/networkdriver/bridge" |
|
9 |
+ "github.com/docker/docker/dockerversion" |
|
10 |
+ "github.com/docker/docker/engine" |
|
11 |
+ "github.com/docker/docker/registry" |
|
12 |
+ "github.com/docker/docker/server" |
|
13 |
+ "github.com/docker/docker/utils" |
|
14 | 14 |
) |
15 | 15 |
|
16 | 16 |
func Register(eng *engine.Engine) error { |
... | ... |
@@ -19,7 +19,7 @@ ENV GOROOT /goroot |
19 | 19 |
ENV GOPATH /go |
20 | 20 |
ENV PATH $GOROOT/bin:$PATH |
21 | 21 |
|
22 |
-RUN go get github.com/dotcloud/docker && cd /go/src/github.com/dotcloud/docker && git checkout v0.6.3 |
|
22 |
+RUN go get github.com/docker/docker && cd /go/src/github.com/docker/docker && git checkout v0.6.3 |
|
23 | 23 |
ADD manager.go /manager/ |
24 | 24 |
RUN cd /manager && go build -o /usr/bin/manager |
25 | 25 |
|
... | ... |
@@ -37,7 +37,7 @@ if [ ! -e "manager/$script" ]; then |
37 | 37 |
exit 1 |
38 | 38 |
fi |
39 | 39 |
|
40 |
-# TODO https://github.com/dotcloud/docker/issues/734 (docker inspect formatting) |
|
40 |
+# TODO https://github.com/docker/docker/issues/734 (docker inspect formatting) |
|
41 | 41 |
#if command -v docker > /dev/null 2>&1; then |
42 | 42 |
# image="$(docker inspect -f '{{.Image}}' "$cid")" |
43 | 43 |
# if [ "$image" ]; then |
... | ... |
@@ -50,7 +50,7 @@ start() { |
50 | 50 |
pid=$! |
51 | 51 |
touch $lockfile |
52 | 52 |
# wait up to 10 seconds for the pidfile to exist. see |
53 |
- # https://github.com/dotcloud/docker/issues/5359 |
|
53 |
+ # https://github.com/docker/docker/issues/5359 |
|
54 | 54 |
tries=0 |
55 | 55 |
while [ ! -f $pidfile -a $tries -lt 10 ]; do |
56 | 56 |
sleep 1 |
... | ... |
@@ -144,7 +144,7 @@ if [ -z "$strictDebootstrap" ]; then |
144 | 144 |
# initctl (for some pesky upstart scripts) |
145 | 145 |
sudo chroot . dpkg-divert --local --rename --add /sbin/initctl |
146 | 146 |
sudo ln -sf /bin/true sbin/initctl |
147 |
- # see https://github.com/dotcloud/docker/issues/446#issuecomment-16953173 |
|
147 |
+ # see https://github.com/docker/docker/issues/446#issuecomment-16953173 |
|
148 | 148 |
|
149 | 149 |
# shrink the image, since apt makes us fat (wheezy: ~157.5MB vs ~120MB) |
150 | 150 |
sudo chroot . apt-get clean |
... | ... |
@@ -83,7 +83,7 @@ if [ -d "$rootfsDir/etc/apt/apt.conf.d" ]; then |
83 | 83 |
Dir::Cache::srcpkgcache ""; |
84 | 84 |
|
85 | 85 |
# Note that we do realize this isn't the ideal way to do this, and are always |
86 |
- # open to better suggestions (https://github.com/dotcloud/docker/issues). |
|
86 |
+ # open to better suggestions (https://github.com/docker/docker/issues). |
|
87 | 87 |
EOF |
88 | 88 |
|
89 | 89 |
# remove apt-cache translations for fast "apt-get update" |
... | ... |
@@ -1,6 +1,6 @@ |
1 | 1 |
#!/bin/sh |
2 | 2 |
# Auto sign all commits to allow them to be used by the Docker project. |
3 |
-# see https://github.com/dotcloud/docker/blob/master/CONTRIBUTING.md#sign-your-work |
|
3 |
+# see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work |
|
4 | 4 |
# |
5 | 5 |
GH_USER=$(git config --get github.user) |
6 | 6 |
SOB=$(git var GIT_AUTHOR_IDENT | sed -n "s/^\(.*>\).*$/Docker-DCO-1.1-Signed-off-by: \1 \(github: $GH_USER\)/p") |
... | ... |
@@ -17,19 +17,19 @@ import ( |
17 | 17 |
|
18 | 18 |
"github.com/docker/libcontainer/devices" |
19 | 19 |
"github.com/docker/libcontainer/label" |
20 |
- "github.com/dotcloud/docker/archive" |
|
21 |
- "github.com/dotcloud/docker/daemon/execdriver" |
|
22 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
23 |
- "github.com/dotcloud/docker/engine" |
|
24 |
- "github.com/dotcloud/docker/image" |
|
25 |
- "github.com/dotcloud/docker/links" |
|
26 |
- "github.com/dotcloud/docker/nat" |
|
27 |
- "github.com/dotcloud/docker/pkg/networkfs/etchosts" |
|
28 |
- "github.com/dotcloud/docker/pkg/networkfs/resolvconf" |
|
29 |
- "github.com/dotcloud/docker/pkg/symlink" |
|
30 |
- "github.com/dotcloud/docker/runconfig" |
|
31 |
- "github.com/dotcloud/docker/utils" |
|
32 |
- "github.com/dotcloud/docker/utils/broadcastwriter" |
|
20 |
+ "github.com/docker/docker/archive" |
|
21 |
+ "github.com/docker/docker/daemon/execdriver" |
|
22 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
23 |
+ "github.com/docker/docker/engine" |
|
24 |
+ "github.com/docker/docker/image" |
|
25 |
+ "github.com/docker/docker/links" |
|
26 |
+ "github.com/docker/docker/nat" |
|
27 |
+ "github.com/docker/docker/pkg/networkfs/etchosts" |
|
28 |
+ "github.com/docker/docker/pkg/networkfs/resolvconf" |
|
29 |
+ "github.com/docker/docker/pkg/symlink" |
|
30 |
+ "github.com/docker/docker/runconfig" |
|
31 |
+ "github.com/docker/docker/utils" |
|
32 |
+ "github.com/docker/docker/utils/broadcastwriter" |
|
33 | 33 |
) |
34 | 34 |
|
35 | 35 |
const DefaultPathEnv = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" |
... | ... |
@@ -13,27 +13,27 @@ import ( |
13 | 13 |
"time" |
14 | 14 |
|
15 | 15 |
"github.com/docker/libcontainer/label" |
16 |
- "github.com/dotcloud/docker/archive" |
|
17 |
- "github.com/dotcloud/docker/daemon/execdriver" |
|
18 |
- "github.com/dotcloud/docker/daemon/execdriver/execdrivers" |
|
19 |
- "github.com/dotcloud/docker/daemon/execdriver/lxc" |
|
20 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
21 |
- _ "github.com/dotcloud/docker/daemon/graphdriver/vfs" |
|
22 |
- _ "github.com/dotcloud/docker/daemon/networkdriver/bridge" |
|
23 |
- "github.com/dotcloud/docker/daemon/networkdriver/portallocator" |
|
24 |
- "github.com/dotcloud/docker/daemonconfig" |
|
25 |
- "github.com/dotcloud/docker/dockerversion" |
|
26 |
- "github.com/dotcloud/docker/engine" |
|
27 |
- "github.com/dotcloud/docker/graph" |
|
28 |
- "github.com/dotcloud/docker/image" |
|
29 |
- "github.com/dotcloud/docker/pkg/graphdb" |
|
30 |
- "github.com/dotcloud/docker/pkg/namesgenerator" |
|
31 |
- "github.com/dotcloud/docker/pkg/networkfs/resolvconf" |
|
32 |
- "github.com/dotcloud/docker/pkg/sysinfo" |
|
33 |
- "github.com/dotcloud/docker/pkg/truncindex" |
|
34 |
- "github.com/dotcloud/docker/runconfig" |
|
35 |
- "github.com/dotcloud/docker/utils" |
|
36 |
- "github.com/dotcloud/docker/utils/broadcastwriter" |
|
16 |
+ "github.com/docker/docker/archive" |
|
17 |
+ "github.com/docker/docker/daemon/execdriver" |
|
18 |
+ "github.com/docker/docker/daemon/execdriver/execdrivers" |
|
19 |
+ "github.com/docker/docker/daemon/execdriver/lxc" |
|
20 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
21 |
+ _ "github.com/docker/docker/daemon/graphdriver/vfs" |
|
22 |
+ _ "github.com/docker/docker/daemon/networkdriver/bridge" |
|
23 |
+ "github.com/docker/docker/daemon/networkdriver/portallocator" |
|
24 |
+ "github.com/docker/docker/daemonconfig" |
|
25 |
+ "github.com/docker/docker/dockerversion" |
|
26 |
+ "github.com/docker/docker/engine" |
|
27 |
+ "github.com/docker/docker/graph" |
|
28 |
+ "github.com/docker/docker/image" |
|
29 |
+ "github.com/docker/docker/pkg/graphdb" |
|
30 |
+ "github.com/docker/docker/pkg/namesgenerator" |
|
31 |
+ "github.com/docker/docker/pkg/networkfs/resolvconf" |
|
32 |
+ "github.com/docker/docker/pkg/sysinfo" |
|
33 |
+ "github.com/docker/docker/pkg/truncindex" |
|
34 |
+ "github.com/docker/docker/runconfig" |
|
35 |
+ "github.com/docker/docker/utils" |
|
36 |
+ "github.com/docker/docker/utils/broadcastwriter" |
|
37 | 37 |
) |
38 | 38 |
|
39 | 39 |
// Set the max depth to the aufs default that most |
... | ... |
@@ -3,10 +3,10 @@ |
3 | 3 |
package daemon |
4 | 4 |
|
5 | 5 |
import ( |
6 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
7 |
- "github.com/dotcloud/docker/daemon/graphdriver/aufs" |
|
8 |
- "github.com/dotcloud/docker/graph" |
|
9 |
- "github.com/dotcloud/docker/utils" |
|
6 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
7 |
+ "github.com/docker/docker/daemon/graphdriver/aufs" |
|
8 |
+ "github.com/docker/docker/graph" |
|
9 |
+ "github.com/docker/docker/utils" |
|
10 | 10 |
) |
11 | 11 |
|
12 | 12 |
// Given the graphdriver ad, if it is aufs, then migrate it. |
... | ... |
@@ -2,10 +2,10 @@ package execdrivers |
2 | 2 |
|
3 | 3 |
import ( |
4 | 4 |
"fmt" |
5 |
- "github.com/dotcloud/docker/daemon/execdriver" |
|
6 |
- "github.com/dotcloud/docker/daemon/execdriver/lxc" |
|
7 |
- "github.com/dotcloud/docker/daemon/execdriver/native" |
|
8 |
- "github.com/dotcloud/docker/pkg/sysinfo" |
|
5 |
+ "github.com/docker/docker/daemon/execdriver" |
|
6 |
+ "github.com/docker/docker/daemon/execdriver/lxc" |
|
7 |
+ "github.com/docker/docker/daemon/execdriver/native" |
|
8 |
+ "github.com/docker/docker/pkg/sysinfo" |
|
9 | 9 |
"path" |
10 | 10 |
) |
11 | 11 |
|
... | ... |
@@ -19,9 +19,9 @@ import ( |
19 | 19 |
"github.com/docker/libcontainer/cgroups" |
20 | 20 |
"github.com/docker/libcontainer/label" |
21 | 21 |
"github.com/docker/libcontainer/mount/nodes" |
22 |
- "github.com/dotcloud/docker/daemon/execdriver" |
|
23 |
- "github.com/dotcloud/docker/pkg/term" |
|
24 |
- "github.com/dotcloud/docker/utils" |
|
22 |
+ "github.com/docker/docker/daemon/execdriver" |
|
23 |
+ "github.com/docker/docker/pkg/term" |
|
24 |
+ "github.com/docker/docker/utils" |
|
25 | 25 |
"github.com/kr/pty" |
26 | 26 |
) |
27 | 27 |
|
... | ... |
@@ -10,9 +10,9 @@ import ( |
10 | 10 |
"github.com/docker/libcontainer/namespaces" |
11 | 11 |
"github.com/docker/libcontainer/security/capabilities" |
12 | 12 |
"github.com/docker/libcontainer/utils" |
13 |
- "github.com/dotcloud/docker/daemon/execdriver" |
|
14 |
- "github.com/dotcloud/docker/daemon/execdriver/native/template" |
|
15 |
- "github.com/dotcloud/docker/pkg/system" |
|
13 |
+ "github.com/docker/docker/daemon/execdriver" |
|
14 |
+ "github.com/docker/docker/daemon/execdriver/native/template" |
|
15 |
+ "github.com/docker/docker/pkg/system" |
|
16 | 16 |
) |
17 | 17 |
|
18 | 18 |
func setHostname(hostname string) error { |
... | ... |
@@ -4,7 +4,7 @@ import ( |
4 | 4 |
"testing" |
5 | 5 |
|
6 | 6 |
"github.com/docker/libcontainer/security/capabilities" |
7 |
- "github.com/dotcloud/docker/daemon/execdriver/native/template" |
|
7 |
+ "github.com/docker/docker/daemon/execdriver/native/template" |
|
8 | 8 |
) |
9 | 9 |
|
10 | 10 |
// Checks whether the expected capability is specified in the capabilities. |
... | ... |
@@ -13,9 +13,9 @@ import ( |
13 | 13 |
"github.com/docker/libcontainer/devices" |
14 | 14 |
"github.com/docker/libcontainer/mount" |
15 | 15 |
"github.com/docker/libcontainer/security/capabilities" |
16 |
- "github.com/dotcloud/docker/daemon/execdriver" |
|
17 |
- "github.com/dotcloud/docker/daemon/execdriver/native/configuration" |
|
18 |
- "github.com/dotcloud/docker/daemon/execdriver/native/template" |
|
16 |
+ "github.com/docker/docker/daemon/execdriver" |
|
17 |
+ "github.com/docker/docker/daemon/execdriver/native/configuration" |
|
18 |
+ "github.com/docker/docker/daemon/execdriver/native/template" |
|
19 | 19 |
) |
20 | 20 |
|
21 | 21 |
// createContainer populates and configures the container type with the |
... | ... |
@@ -20,9 +20,9 @@ import ( |
20 | 20 |
"github.com/docker/libcontainer/cgroups/systemd" |
21 | 21 |
"github.com/docker/libcontainer/namespaces" |
22 | 22 |
"github.com/docker/libcontainer/syncpipe" |
23 |
- "github.com/dotcloud/docker/daemon/execdriver" |
|
24 |
- "github.com/dotcloud/docker/pkg/system" |
|
25 |
- "github.com/dotcloud/docker/pkg/term" |
|
23 |
+ "github.com/docker/docker/daemon/execdriver" |
|
24 |
+ "github.com/docker/docker/pkg/system" |
|
25 |
+ "github.com/docker/docker/pkg/term" |
|
26 | 26 |
) |
27 | 27 |
|
28 | 28 |
const ( |
... | ... |
@@ -31,10 +31,10 @@ import ( |
31 | 31 |
"syscall" |
32 | 32 |
|
33 | 33 |
"github.com/docker/libcontainer/label" |
34 |
- "github.com/dotcloud/docker/archive" |
|
35 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
36 |
- mountpk "github.com/dotcloud/docker/pkg/mount" |
|
37 |
- "github.com/dotcloud/docker/utils" |
|
34 |
+ "github.com/docker/docker/archive" |
|
35 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
36 |
+ mountpk "github.com/docker/docker/pkg/mount" |
|
37 |
+ "github.com/docker/docker/utils" |
|
38 | 38 |
) |
39 | 39 |
|
40 | 40 |
var ( |
... | ... |
@@ -4,8 +4,8 @@ import ( |
4 | 4 |
"crypto/sha256" |
5 | 5 |
"encoding/hex" |
6 | 6 |
"fmt" |
7 |
- "github.com/dotcloud/docker/archive" |
|
8 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
7 |
+ "github.com/docker/docker/archive" |
|
8 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
9 | 9 |
"io/ioutil" |
10 | 10 |
"os" |
11 | 11 |
"path" |
... | ... |
@@ -19,9 +19,9 @@ import ( |
19 | 19 |
"time" |
20 | 20 |
|
21 | 21 |
"github.com/docker/libcontainer/label" |
22 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
23 |
- "github.com/dotcloud/docker/pkg/units" |
|
24 |
- "github.com/dotcloud/docker/utils" |
|
22 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
23 |
+ "github.com/docker/docker/pkg/units" |
|
24 |
+ "github.com/docker/docker/utils" |
|
25 | 25 |
) |
26 | 26 |
|
27 | 27 |
var ( |
... | ... |
@@ -8,9 +8,9 @@ import ( |
8 | 8 |
"os" |
9 | 9 |
"path" |
10 | 10 |
|
11 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
12 |
- "github.com/dotcloud/docker/pkg/mount" |
|
13 |
- "github.com/dotcloud/docker/utils" |
|
11 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
12 |
+ "github.com/docker/docker/pkg/mount" |
|
13 |
+ "github.com/docker/docker/utils" |
|
14 | 14 |
) |
15 | 15 |
|
16 | 16 |
func init() { |
... | ... |
@@ -4,8 +4,8 @@ import ( |
4 | 4 |
"encoding/json" |
5 | 5 |
"fmt" |
6 | 6 |
|
7 |
- "github.com/dotcloud/docker/engine" |
|
8 |
- "github.com/dotcloud/docker/runconfig" |
|
7 |
+ "github.com/docker/docker/engine" |
|
8 |
+ "github.com/docker/docker/runconfig" |
|
9 | 9 |
) |
10 | 10 |
|
11 | 11 |
func (daemon *Daemon) ContainerInspect(job *engine.Job) engine.Status { |
... | ... |
@@ -9,14 +9,14 @@ import ( |
9 | 9 |
"sync" |
10 | 10 |
|
11 | 11 |
"github.com/docker/libcontainer/netlink" |
12 |
- "github.com/dotcloud/docker/daemon/networkdriver" |
|
13 |
- "github.com/dotcloud/docker/daemon/networkdriver/ipallocator" |
|
14 |
- "github.com/dotcloud/docker/daemon/networkdriver/portallocator" |
|
15 |
- "github.com/dotcloud/docker/daemon/networkdriver/portmapper" |
|
16 |
- "github.com/dotcloud/docker/engine" |
|
17 |
- "github.com/dotcloud/docker/pkg/iptables" |
|
18 |
- "github.com/dotcloud/docker/pkg/networkfs/resolvconf" |
|
19 |
- "github.com/dotcloud/docker/utils" |
|
12 |
+ "github.com/docker/docker/daemon/networkdriver" |
|
13 |
+ "github.com/docker/docker/daemon/networkdriver/ipallocator" |
|
14 |
+ "github.com/docker/docker/daemon/networkdriver/portallocator" |
|
15 |
+ "github.com/docker/docker/daemon/networkdriver/portmapper" |
|
16 |
+ "github.com/docker/docker/engine" |
|
17 |
+ "github.com/docker/docker/pkg/iptables" |
|
18 |
+ "github.com/docker/docker/pkg/networkfs/resolvconf" |
|
19 |
+ "github.com/docker/docker/utils" |
|
20 | 20 |
) |
21 | 21 |
|
22 | 22 |
const ( |
... | ... |
@@ -158,7 +158,7 @@ func InitDriver(job *engine.Job) engine.Status { |
158 | 158 |
|
159 | 159 |
bridgeNetwork = network |
160 | 160 |
|
161 |
- // https://github.com/dotcloud/docker/issues/2768 |
|
161 |
+ // https://github.com/docker/docker/issues/2768 |
|
162 | 162 |
job.Eng.Hack_SetGlobalVar("httpapi.bridgeIP", bridgeNetwork.IP) |
163 | 163 |
|
164 | 164 |
for name, f := range map[string]engine.Handler{ |
... | ... |
@@ -6,9 +6,9 @@ import ( |
6 | 6 |
"net" |
7 | 7 |
"sync" |
8 | 8 |
|
9 |
- "github.com/dotcloud/docker/daemon/networkdriver/portallocator" |
|
10 |
- "github.com/dotcloud/docker/pkg/iptables" |
|
11 |
- "github.com/dotcloud/docker/pkg/proxy" |
|
9 |
+ "github.com/docker/docker/daemon/networkdriver/portallocator" |
|
10 |
+ "github.com/docker/docker/pkg/iptables" |
|
11 |
+ "github.com/docker/docker/pkg/proxy" |
|
12 | 12 |
) |
13 | 13 |
|
14 | 14 |
type mapping struct { |
... | ... |
@@ -1,9 +1,9 @@ |
1 | 1 |
package portmapper |
2 | 2 |
|
3 | 3 |
import ( |
4 |
- "github.com/dotcloud/docker/daemon/networkdriver/portallocator" |
|
5 |
- "github.com/dotcloud/docker/pkg/iptables" |
|
6 |
- "github.com/dotcloud/docker/pkg/proxy" |
|
4 |
+ "github.com/docker/docker/daemon/networkdriver/portallocator" |
|
5 |
+ "github.com/docker/docker/pkg/iptables" |
|
6 |
+ "github.com/docker/docker/pkg/proxy" |
|
7 | 7 |
"net" |
8 | 8 |
"testing" |
9 | 9 |
) |
... | ... |
@@ -4,8 +4,8 @@ import ( |
4 | 4 |
"fmt" |
5 | 5 |
"strings" |
6 | 6 |
|
7 |
- "github.com/dotcloud/docker/nat" |
|
8 |
- "github.com/dotcloud/docker/runconfig" |
|
7 |
+ "github.com/docker/docker/nat" |
|
8 |
+ "github.com/docker/docker/runconfig" |
|
9 | 9 |
) |
10 | 10 |
|
11 | 11 |
func migratePortMappings(config *runconfig.Config, hostConfig *runconfig.HostConfig) error { |
... | ... |
@@ -8,9 +8,9 @@ import ( |
8 | 8 |
"strings" |
9 | 9 |
"syscall" |
10 | 10 |
|
11 |
- "github.com/dotcloud/docker/archive" |
|
12 |
- "github.com/dotcloud/docker/daemon/execdriver" |
|
13 |
- "github.com/dotcloud/docker/pkg/symlink" |
|
11 |
+ "github.com/docker/docker/archive" |
|
12 |
+ "github.com/docker/docker/daemon/execdriver" |
|
13 |
+ "github.com/docker/docker/pkg/symlink" |
|
14 | 14 |
) |
15 | 15 |
|
16 | 16 |
type BindMap struct { |
... | ... |
@@ -12,15 +12,15 @@ import ( |
12 | 12 |
"runtime" |
13 | 13 |
"strings" |
14 | 14 |
|
15 |
- "github.com/dotcloud/docker/api" |
|
16 |
- "github.com/dotcloud/docker/api/client" |
|
17 |
- "github.com/dotcloud/docker/builtins" |
|
18 |
- "github.com/dotcloud/docker/dockerversion" |
|
19 |
- "github.com/dotcloud/docker/engine" |
|
20 |
- "github.com/dotcloud/docker/opts" |
|
21 |
- flag "github.com/dotcloud/docker/pkg/mflag" |
|
22 |
- "github.com/dotcloud/docker/sysinit" |
|
23 |
- "github.com/dotcloud/docker/utils" |
|
15 |
+ "github.com/docker/docker/api" |
|
16 |
+ "github.com/docker/docker/api/client" |
|
17 |
+ "github.com/docker/docker/builtins" |
|
18 |
+ "github.com/docker/docker/dockerversion" |
|
19 |
+ "github.com/docker/docker/engine" |
|
20 |
+ "github.com/docker/docker/opts" |
|
21 |
+ flag "github.com/docker/docker/pkg/mflag" |
|
22 |
+ "github.com/docker/docker/sysinit" |
|
23 |
+ "github.com/docker/docker/utils" |
|
24 | 24 |
) |
25 | 25 |
|
26 | 26 |
const ( |
... | ... |
@@ -154,7 +154,7 @@ func main() { |
154 | 154 |
log.Fatal(err) |
155 | 155 |
} |
156 | 156 |
|
157 |
- // handle the pidfile early. https://github.com/dotcloud/docker/issues/6973 |
|
157 |
+ // handle the pidfile early. https://github.com/docker/docker/issues/6973 |
|
158 | 158 |
if len(*pidfile) > 0 { |
159 | 159 |
job := eng.Job("initserverpidfile", *pidfile) |
160 | 160 |
if err := job.Run(); err != nil { |
... | ... |
@@ -291,7 +291,7 @@ func checkKernelAndArch() error { |
291 | 291 |
// Unfortunately we can't test for the feature "does not cause a kernel panic" |
292 | 292 |
// without actually causing a kernel panic, so we need this workaround until |
293 | 293 |
// the circumstances of pre-3.8 crashes are clearer. |
294 |
- // For details see http://github.com/dotcloud/docker/issues/407 |
|
294 |
+ // For details see http://github.com/docker/docker/issues/407 |
|
295 | 295 |
if k, err := utils.GetKernelVersion(); err != nil { |
296 | 296 |
log.Printf("WARNING: %s\n", err) |
297 | 297 |
} else { |
... | ... |
@@ -1,5 +1,5 @@ |
1 | 1 |
# |
2 |
-# See the top level Makefile in https://github.com/dotcloud/docker for usage. |
|
2 |
+# See the top level Makefile in https://github.com/docker/docker for usage. |
|
3 | 3 |
# |
4 | 4 |
FROM debian:jessie |
5 | 5 |
MAINTAINER Sven Dowideit <SvenDowideit@docker.com> (@SvenDowideit) |
... | ... |
@@ -43,7 +43,7 @@ RUN VERSION=$(cat /docs/VERSION) &&\ |
43 | 43 |
sed -i "s/\$BUILD_DATE/$BUILD_DATE/g" /docs/theme/mkdocs/base.html &&\ |
44 | 44 |
sed -i "s/\$AWS_S3_BUCKET/$AWS_S3_BUCKET/g" /docs/theme/mkdocs/base.html |
45 | 45 |
|
46 |
-# note, EXPOSE is only last because of https://github.com/dotcloud/docker/issues/3525 |
|
46 |
+# note, EXPOSE is only last because of https://github.com/docker/docker/issues/3525 |
|
47 | 47 |
EXPOSE 8000 |
48 | 48 |
|
49 | 49 |
CMD ["mkdocs", "serve"] |
... | ... |
@@ -5,7 +5,7 @@ Markdown, as implemented by [MkDocs](http://mkdocs.org). |
5 | 5 |
|
6 | 6 |
The HTML files are built and hosted on `https://docs.docker.com`, and update |
7 | 7 |
automatically after each change to the master or release branch of [Docker on |
8 |
-GitHub](https://github.com/dotcloud/docker) thanks to post-commit hooks. The |
|
8 |
+GitHub](https://github.com/docker/docker) thanks to post-commit hooks. The |
|
9 | 9 |
`docs` branch maps to the "latest" documentation and the `master` (unreleased |
10 | 10 |
development) branch maps to the "master" documentation. |
11 | 11 |
|
... | ... |
@@ -33,13 +33,13 @@ It can be as simple as this to create an Ubuntu base image: |
33 | 33 |
There are more example scripts for creating base images in the Docker |
34 | 34 |
GitHub Repo: |
35 | 35 |
|
36 |
- - [BusyBox](https://github.com/dotcloud/docker/blob/master/contrib/mkimage-busybox.sh) |
|
36 |
+ - [BusyBox](https://github.com/docker/docker/blob/master/contrib/mkimage-busybox.sh) |
|
37 | 37 |
- CentOS / Scientific Linux CERN (SLC) [on Debian/Ubuntu]( |
38 |
- https://github.com/dotcloud/docker/blob/master/contrib/mkimage-rinse.sh) or |
|
38 |
+ https://github.com/docker/docker/blob/master/contrib/mkimage-rinse.sh) or |
|
39 | 39 |
[on CentOS/RHEL/SLC/etc.]( |
40 |
- https://github.com/dotcloud/docker/blob/master/contrib/mkimage-yum.sh) |
|
40 |
+ https://github.com/docker/docker/blob/master/contrib/mkimage-yum.sh) |
|
41 | 41 |
- [Debian / Ubuntu]( |
42 |
- https://github.com/dotcloud/docker/blob/master/contrib/mkimage-debootstrap.sh) |
|
42 |
+ https://github.com/docker/docker/blob/master/contrib/mkimage-debootstrap.sh) |
|
43 | 43 |
|
44 | 44 |
## Creating a simple base image using `scratch` |
45 | 45 |
|
... | ... |
@@ -539,7 +539,7 @@ values. |
539 | 539 |
It also allows the container to access local network services |
540 | 540 |
like D-bus. This can lead to processes in the container being |
541 | 541 |
able to do unexpected things like |
542 |
- [restart your computer](https://github.com/dotcloud/docker/issues/6401). |
|
542 |
+ [restart your computer](https://github.com/docker/docker/issues/6401). |
|
543 | 543 |
You should use this option with caution. |
544 | 544 |
|
545 | 545 |
* `--net=container:NAME_or_ID` — Tells Docker to put this container's |
... | ... |
@@ -196,7 +196,7 @@ to the host. |
196 | 196 |
This won't affect regular web apps; but malicious users will find that |
197 | 197 |
the arsenal at their disposal has shrunk considerably! By default Docker |
198 | 198 |
drops all capabilities except [those |
199 |
-needed](https://github.com/dotcloud/docker/blob/master/daemon/execdriver/native/template/default_template.go), |
|
199 |
+needed](https://github.com/docker/docker/blob/master/daemon/execdriver/native/template/default_template.go), |
|
200 | 200 |
a whitelist instead of a blacklist approach. You can see a full list of |
201 | 201 |
available capabilities in [Linux |
202 | 202 |
manpages](http://man7.org/linux/man-pages/man7/capabilities.7.html). |
... | ... |
@@ -204,7 +204,7 @@ manpages](http://man7.org/linux/man-pages/man7/capabilities.7.html). |
204 | 204 |
Of course, you can always enable extra capabilities if you really need |
205 | 205 |
them (for instance, if you want to use a FUSE-based filesystem), but by |
206 | 206 |
default, Docker containers use only a |
207 |
-[whitelist](https://github.com/dotcloud/docker/blob/master/daemon/execdriver/native/template/default_template.go) |
|
207 |
+[whitelist](https://github.com/docker/docker/blob/master/daemon/execdriver/native/template/default_template.go) |
|
208 | 208 |
of kernel capabilities by default. |
209 | 209 |
|
210 | 210 |
## Other Kernel Security Features |
... | ... |
@@ -7,18 +7,18 @@ page_keywords: contributing, docker, documentation, help, guideline |
7 | 7 |
Want to hack on Docker? Awesome! |
8 | 8 |
|
9 | 9 |
The repository includes [all the instructions you need to get started]( |
10 |
-https://github.com/dotcloud/docker/blob/master/CONTRIBUTING.md). |
|
10 |
+https://github.com/docker/docker/blob/master/CONTRIBUTING.md). |
|
11 | 11 |
|
12 | 12 |
The [developer environment Dockerfile]( |
13 |
-https://github.com/dotcloud/docker/blob/master/Dockerfile) |
|
13 |
+https://github.com/docker/docker/blob/master/Dockerfile) |
|
14 | 14 |
specifies the tools and versions used to test and build Docker. |
15 | 15 |
|
16 | 16 |
If you're making changes to the documentation, see the [README.md]( |
17 |
-https://github.com/dotcloud/docker/blob/master/docs/README.md). |
|
17 |
+https://github.com/docker/docker/blob/master/docs/README.md). |
|
18 | 18 |
|
19 | 19 |
The [documentation environment Dockerfile]( |
20 |
-https://github.com/dotcloud/docker/blob/master/docs/Dockerfile) |
|
20 |
+https://github.com/docker/docker/blob/master/docs/Dockerfile) |
|
21 | 21 |
specifies the tools and versions used to build the Documentation. |
22 | 22 |
|
23 | 23 |
Further interesting details can be found in the [Packaging hints]( |
24 |
-https://github.com/dotcloud/docker/blob/master/hack/PACKAGERS.md). |
|
24 |
+https://github.com/docker/docker/blob/master/hack/PACKAGERS.md). |
... | ... |
@@ -32,7 +32,7 @@ Again, you can do it in other ways but you need to do more work. |
32 | 32 |
|
33 | 33 |
## Check out the Source |
34 | 34 |
|
35 |
- $ git clone https://git@github.com/dotcloud/docker |
|
35 |
+ $ git clone https://git@github.com/docker/docker |
|
36 | 36 |
$ cd docker |
37 | 37 |
|
38 | 38 |
To checkout a different revision just use `git checkout` |
... | ... |
@@ -110,7 +110,7 @@ something like this |
110 | 110 |
=== RUN TestDependencyGraph |
111 | 111 |
--- PASS: TestDependencyGraph (0.00 seconds) |
112 | 112 |
PASS |
113 |
- ok github.com/dotcloud/docker/utils 0.017s |
|
113 |
+ ok github.com/docker/docker/utils 0.017s |
|
114 | 114 |
|
115 | 115 |
If $TESTFLAGS is set in the environment, it is passed as extra arguments |
116 | 116 |
to `go test`. You can use this to select certain tests to run, e.g., |
... | ... |
@@ -65,7 +65,7 @@ optimized and up-to-date image to power your applications. |
65 | 65 |
> **Note:** |
66 | 66 |
> If you would like to contribute an official repository for your |
67 | 67 |
> organization, product or team you can see more information |
68 |
-> [here](https://github.com/dotcloud/stackbrew). |
|
68 |
+> [here](https://github.com/docker/stackbrew). |
|
69 | 69 |
|
70 | 70 |
## Private Docker Repositories |
71 | 71 |
|
... | ... |
@@ -74,7 +74,7 @@ Almost there. Next, we add a hack to get us by the lack of |
74 | 74 |
`initctl`: |
75 | 75 |
|
76 | 76 |
# Hack for initctl |
77 |
- # See: https://github.com/dotcloud/docker/issues/1024 |
|
77 |
+ # See: https://github.com/docker/docker/issues/1024 |
|
78 | 78 |
RUN dpkg-divert --local --rename --add /sbin/initctl |
79 | 79 |
RUN ln -s /bin/true /sbin/initctl |
80 | 80 |
|
... | ... |
@@ -14,8 +14,8 @@ paying. |
14 | 14 |
### What open source license are you using? |
15 | 15 |
|
16 | 16 |
We are using the Apache License Version 2.0, see it here: |
17 |
-[https://github.com/dotcloud/docker/blob/master/LICENSE]( |
|
18 |
-https://github.com/dotcloud/docker/blob/master/LICENSE) |
|
17 |
+[https://github.com/docker/docker/blob/master/LICENSE]( |
|
18 |
+https://github.com/docker/docker/blob/master/LICENSE) |
|
19 | 19 |
|
20 | 20 |
### Does Docker run on Mac OS X or Windows? |
21 | 21 |
|
... | ... |
@@ -227,7 +227,7 @@ OpenSSL library vulnerable to the [Heartbleed](http://heartbleed.com/) bug. |
227 | 227 |
|
228 | 228 |
### Can I help by adding some questions and answers? |
229 | 229 |
|
230 |
-Definitely! You can fork [the repo](https://github.com/dotcloud/docker) and |
|
230 |
+Definitely! You can fork [the repo](https://github.com/docker/docker) and |
|
231 | 231 |
edit the documentation sources. |
232 | 232 |
|
233 | 233 |
### Where can I find more answers? |
... | ... |
@@ -237,7 +237,7 @@ You can find more answers on: |
237 | 237 |
- [Docker user mailinglist](https://groups.google.com/d/forum/docker-user) |
238 | 238 |
- [Docker developer mailinglist](https://groups.google.com/d/forum/docker-dev) |
239 | 239 |
- [IRC, docker on freenode](irc://chat.freenode.net#docker) |
240 |
-- [GitHub](https://github.com/dotcloud/docker) |
|
240 |
+- [GitHub](https://github.com/docker/docker) |
|
241 | 241 |
- [Ask questions on Stackoverflow](http://stackoverflow.com/search?q=docker) |
242 | 242 |
- [Join the conversation on Twitter](http://twitter.com/docker) |
243 | 243 |
|
... | ... |
@@ -94,7 +94,7 @@ To learn about Docker in more detail and to answer questions about usage and imp |
94 | 94 |
*`.dockerignore` support* |
95 | 95 |
|
96 | 96 |
You can now add a `.dockerignore` file next to your `Dockerfile` and Docker will ignore files and directories specified in that file when sending the build context to the daemon. |
97 |
-Example: https://github.com/dotcloud/docker/blob/master/.dockerignore |
|
97 |
+Example: https://github.com/docker/docker/blob/master/.dockerignore |
|
98 | 98 |
|
99 | 99 |
*Pause containers during commit* |
100 | 100 |
|
... | ... |
@@ -23,9 +23,9 @@ runtime: |
23 | 23 |
- a [properly mounted]( |
24 | 24 |
https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount) |
25 | 25 |
cgroupfs hierarchy (having a single, all-encompassing "cgroup" mount |
26 |
- point [is](https://github.com/dotcloud/docker/issues/2683) |
|
27 |
- [not](https://github.com/dotcloud/docker/issues/3485) |
|
28 |
- [sufficient](https://github.com/dotcloud/docker/issues/4568)) |
|
26 |
+ point [is](https://github.com/docker/docker/issues/2683) |
|
27 |
+ [not](https://github.com/docker/docker/issues/3485) |
|
28 |
+ [sufficient](https://github.com/docker/docker/issues/4568)) |
|
29 | 29 |
|
30 | 30 |
## Check kernel dependencies |
31 | 31 |
|
... | ... |
@@ -421,7 +421,7 @@ Registering a new account. |
421 | 421 |
Accept: application/json |
422 | 422 |
Content-Type: application/json |
423 | 423 |
|
424 |
- {"email": "sam@dotcloud.com", |
|
424 |
+ {"email": "sam@docker.com", |
|
425 | 425 |
"password": "toto42", |
426 | 426 |
"username": "foobar"} |
427 | 427 |
|
... | ... |
@@ -468,7 +468,7 @@ Change a password or email address for given user. If you pass in an |
468 | 468 |
Content-Type: application/json |
469 | 469 |
Authorization: Basic akmklmasadalkm== |
470 | 470 |
|
471 |
- {"email": "sam@dotcloud.com", |
|
471 |
+ {"email": "sam@docker.com", |
|
472 | 472 |
"password": "toto42"} |
473 | 473 |
|
474 | 474 |
Parameters: |
... | ... |
@@ -374,7 +374,7 @@ Image's name added in the events |
374 | 374 |
## v1.3 |
375 | 375 |
|
376 | 376 |
docker v0.5.0 |
377 |
-[51f6c4a](https://github.com/dotcloud/docker/commit/51f6c4a7372450d164c61e0054daf0223ddbd909) |
|
377 |
+[51f6c4a](https://github.com/docker/docker/commit/51f6c4a7372450d164c61e0054daf0223ddbd909) |
|
378 | 378 |
|
379 | 379 |
### Full Documentation |
380 | 380 |
|
... | ... |
@@ -414,7 +414,7 @@ Start containers (/containers/<id>/start): |
414 | 414 |
## v1.2 |
415 | 415 |
|
416 | 416 |
docker v0.4.2 |
417 |
-[2e7649b](https://github.com/dotcloud/docker/commit/2e7649beda7c820793bd46766cbc2cfeace7b168) |
|
417 |
+[2e7649b](https://github.com/docker/docker/commit/2e7649beda7c820793bd46766cbc2cfeace7b168) |
|
418 | 418 |
|
419 | 419 |
### Full Documentation |
420 | 420 |
|
... | ... |
@@ -446,7 +446,7 @@ deleted/untagged. |
446 | 446 |
## v1.1 |
447 | 447 |
|
448 | 448 |
docker v0.4.0 |
449 |
-[a8ae398](https://github.com/dotcloud/docker/commit/a8ae398bf52e97148ee7bd0d5868de2e15bd297f) |
|
449 |
+[a8ae398](https://github.com/docker/docker/commit/a8ae398bf52e97148ee7bd0d5868de2e15bd297f) |
|
450 | 450 |
|
451 | 451 |
### Full Documentation |
452 | 452 |
|
... | ... |
@@ -473,7 +473,7 @@ Uses json stream instead of HTML hijack, it looks like this: |
473 | 473 |
## v1.0 |
474 | 474 |
|
475 | 475 |
docker v0.3.4 |
476 |
-[8d73740](https://github.com/dotcloud/docker/commit/8d73740343778651c09160cde9661f5f387b36f4) |
|
476 |
+[8d73740](https://github.com/docker/docker/commit/8d73740343778651c09160cde9661f5f387b36f4) |
|
477 | 477 |
|
478 | 478 |
### Full Documentation |
479 | 479 |
|
... | ... |
@@ -194,7 +194,7 @@ Return low-level information on the container `id` |
194 | 194 |
"Bridge": "", |
195 | 195 |
"PortMapping": null |
196 | 196 |
}, |
197 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
197 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
198 | 198 |
"ResolvConfPath": "/etc/resolv.conf", |
199 | 199 |
"Volumes": {} |
200 | 200 |
} |
... | ... |
@@ -194,7 +194,7 @@ Return low-level information on the container `id` |
194 | 194 |
"Bridge": "", |
195 | 195 |
"PortMapping": null |
196 | 196 |
}, |
197 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
197 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
198 | 198 |
"ResolvConfPath": "/etc/resolv.conf", |
199 | 199 |
"Volumes": {} |
200 | 200 |
} |
... | ... |
@@ -220,7 +220,7 @@ Return low-level information on the container `id` |
220 | 220 |
"Bridge": "", |
221 | 221 |
"PortMapping": null |
222 | 222 |
}, |
223 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
223 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
224 | 224 |
"ResolvConfPath": "/etc/resolv.conf", |
225 | 225 |
"Volumes": {}, |
226 | 226 |
"HostConfig": { |
... | ... |
@@ -224,7 +224,7 @@ Return low-level information on the container `id` |
224 | 224 |
"Bridge": "", |
225 | 225 |
"PortMapping": null |
226 | 226 |
}, |
227 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
227 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
228 | 228 |
"ResolvConfPath": "/etc/resolv.conf", |
229 | 229 |
"Volumes": {}, |
230 | 230 |
"HostConfig": { |
... | ... |
@@ -224,7 +224,7 @@ Return low-level information on the container `id` |
224 | 224 |
"Bridge": "", |
225 | 225 |
"PortMapping": null |
226 | 226 |
}, |
227 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
227 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
228 | 228 |
"ResolvConfPath": "/etc/resolv.conf", |
229 | 229 |
"Volumes": {}, |
230 | 230 |
"HostConfig": { |
... | ... |
@@ -224,7 +224,7 @@ Return low-level information on the container `id` |
224 | 224 |
"Bridge": "", |
225 | 225 |
"PortMapping": null |
226 | 226 |
}, |
227 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
227 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
228 | 228 |
"ResolvConfPath": "/etc/resolv.conf", |
229 | 229 |
"Volumes": {}, |
230 | 230 |
"HostConfig": { |
... | ... |
@@ -224,7 +224,7 @@ Return low-level information on the container `id` |
224 | 224 |
"Bridge": "", |
225 | 225 |
"PortMapping": null |
226 | 226 |
}, |
227 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
227 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
228 | 228 |
"ResolvConfPath": "/etc/resolv.conf", |
229 | 229 |
"Volumes": {}, |
230 | 230 |
"HostConfig": { |
... | ... |
@@ -206,7 +206,7 @@ Return low-level information on the container `id` |
206 | 206 |
"Bridge": "", |
207 | 207 |
"PortMapping": null |
208 | 208 |
}, |
209 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
209 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
210 | 210 |
"ResolvConfPath": "/etc/resolv.conf", |
211 | 211 |
"Volumes": {} |
212 | 212 |
} |
... | ... |
@@ -208,7 +208,7 @@ Return low-level information on the container `id` |
208 | 208 |
"Bridge": "", |
209 | 209 |
"PortMapping": null |
210 | 210 |
}, |
211 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
211 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
212 | 212 |
"ResolvConfPath": "/etc/resolv.conf", |
213 | 213 |
"Volumes": {} |
214 | 214 |
} |
... | ... |
@@ -213,7 +213,7 @@ Return low-level information on the container `id` |
213 | 213 |
"Bridge": "", |
214 | 214 |
"PortMapping": null |
215 | 215 |
}, |
216 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
216 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
217 | 217 |
"ResolvConfPath": "/etc/resolv.conf", |
218 | 218 |
"Volumes": {} |
219 | 219 |
} |
... | ... |
@@ -211,7 +211,7 @@ Return low-level information on the container `id` |
211 | 211 |
"Bridge": "", |
212 | 212 |
"PortMapping": null |
213 | 213 |
}, |
214 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
214 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
215 | 215 |
"ResolvConfPath": "/etc/resolv.conf", |
216 | 216 |
"Volumes": {} |
217 | 217 |
} |
... | ... |
@@ -261,7 +261,7 @@ Return low-level information on the container `id` |
261 | 261 |
"Bridge": "", |
262 | 262 |
"PortMapping": null |
263 | 263 |
}, |
264 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
264 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
265 | 265 |
"ResolvConfPath": "/etc/resolv.conf", |
266 | 266 |
"Volumes": {} |
267 | 267 |
} |
... | ... |
@@ -217,7 +217,7 @@ Return low-level information on the container `id` |
217 | 217 |
"Bridge": "", |
218 | 218 |
"PortMapping": null |
219 | 219 |
}, |
220 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
220 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
221 | 221 |
"ResolvConfPath": "/etc/resolv.conf", |
222 | 222 |
"Volumes": {} |
223 | 223 |
} |
... | ... |
@@ -237,7 +237,7 @@ Return low-level information on the container `id` |
237 | 237 |
"Bridge": "", |
238 | 238 |
"PortMapping": null |
239 | 239 |
}, |
240 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
240 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
241 | 241 |
"ResolvConfPath": "/etc/resolv.conf", |
242 | 242 |
"Volumes": {}, |
243 | 243 |
"HostConfig": { |
... | ... |
@@ -237,7 +237,7 @@ Return low-level information on the container `id` |
237 | 237 |
"Bridge": "", |
238 | 238 |
"PortMapping": null |
239 | 239 |
}, |
240 |
- "SysInitPath": "/home/kitty/go/src/github.com/dotcloud/docker/bin/docker", |
|
240 |
+ "SysInitPath": "/home/kitty/go/src/github.com/docker/docker/bin/docker", |
|
241 | 241 |
"ResolvConfPath": "/etc/resolv.conf", |
242 | 242 |
"Volumes": {}, |
243 | 243 |
"HostConfig": { |
... | ... |
@@ -35,7 +35,7 @@ managed by Docker Inc. |
35 | 35 |
service using tokens |
36 | 36 |
- It supports different storage backends (S3, cloud files, local FS) |
37 | 37 |
- It doesn't have a local database |
38 |
- - [Source Code](https://github.com/dotcloud/docker-registry) |
|
38 |
+ - [Source Code](https://github.com/docker/docker-registry) |
|
39 | 39 |
|
40 | 40 |
We expect that there will be multiple registries out there. To help to |
41 | 41 |
grasp the context, here are some examples of registries: |
... | ... |
@@ -479,7 +479,7 @@ file is empty. |
479 | 479 |
POST /v1/users: |
480 | 480 |
|
481 | 481 |
**Body**: |
482 |
- {"email": "[sam@dotcloud.com](mailto:sam%40dotcloud.com)", |
|
482 |
+ {"email": "[sam@docker.com](mailto:sam%40docker.com)", |
|
483 | 483 |
"password": "toto42", "username": "foobar"`} |
484 | 484 |
|
485 | 485 |
**Validation**: |
... | ... |
@@ -175,7 +175,7 @@ The cache for `RUN` instructions can be invalidated by `ADD` instructions. See |
175 | 175 |
|
176 | 176 |
### Known Issues (RUN) |
177 | 177 |
|
178 |
-- [Issue 783](https://github.com/dotcloud/docker/issues/783) is about file |
|
178 |
+- [Issue 783](https://github.com/docker/docker/issues/783) is about file |
|
179 | 179 |
permissions problems that can occur when using the AUFS file system. You |
180 | 180 |
might notice it during an attempt to `rm` a file, for example. The issue |
181 | 181 |
describes a workaround. |
... | ... |
@@ -117,7 +117,7 @@ you can also specify individual sockets too `docker -d -H fd://3`. If the |
117 | 117 |
specified socket activated files aren't found then docker will exit. You |
118 | 118 |
can find examples of using systemd socket activation with docker and |
119 | 119 |
systemd in the [docker source tree]( |
120 |
-https://github.com/dotcloud/docker/blob/master/contrib/init/systemd/socket-activation/). |
|
120 |
+https://github.com/docker/docker/blob/master/contrib/init/systemd/socket-activation/). |
|
121 | 121 |
|
122 | 122 |
Docker supports softlinks for the Docker data directory |
123 | 123 |
(`/var/lib/docker`) and for `/tmp`. TMPDIR and the data directory can be set |
... | ... |
@@ -396,9 +396,9 @@ For example: |
396 | 396 |
A /go |
397 | 397 |
A /go/src |
398 | 398 |
A /go/src/github.com |
399 |
- A /go/src/github.com/dotcloud |
|
400 |
- A /go/src/github.com/dotcloud/docker |
|
401 |
- A /go/src/github.com/dotcloud/docker/.git |
|
399 |
+ A /go/src/github.com/docker |
|
400 |
+ A /go/src/github.com/docker/docker |
|
401 |
+ A /go/src/github.com/docker/docker/.git |
|
402 | 402 |
.... |
403 | 403 |
|
404 | 404 |
## events |
... | ... |
@@ -871,7 +871,7 @@ registry or to a self-hosted one. |
871 | 871 |
|
872 | 872 |
### Known Issues (rm) |
873 | 873 |
|
874 |
-- [Issue 197](https://github.com/dotcloud/docker/issues/197) indicates |
|
874 |
+- [Issue 197](https://github.com/docker/docker/issues/197) indicates |
|
875 | 875 |
that `docker kill` may leave directories behind |
876 | 876 |
and make it difficult to remove the container. |
877 | 877 |
|
... | ... |
@@ -1008,7 +1008,7 @@ and linking containers. |
1008 | 1008 |
|
1009 | 1009 |
### Known Issues (run –volumes-from) |
1010 | 1010 |
|
1011 |
-- [Issue 2702](https://github.com/dotcloud/docker/issues/2702): |
|
1011 |
+- [Issue 2702](https://github.com/docker/docker/issues/2702): |
|
1012 | 1012 |
"lxc-start: Permission denied - failed to mount" could indicate a |
1013 | 1013 |
permissions problem with AppArmor. Please see the issue for a |
1014 | 1014 |
workaround. |
... | ... |
@@ -86,7 +86,7 @@ and pass along signals. All of that is configurable: |
86 | 86 |
-i=false : Keep STDIN open even if not attached |
87 | 87 |
|
88 | 88 |
If you do not specify `-a` then Docker will [attach all standard |
89 |
-streams]( https://github.com/dotcloud/docker/blob/ |
|
89 |
+streams]( https://github.com/docker/docker/blob/ |
|
90 | 90 |
75a7f4d90cde0295bcfb7213004abce8d4779b75/commands.go#L1797). You can |
91 | 91 |
specify to which of the three standard streams (`STDIN`, `STDOUT`, |
92 | 92 |
`STDERR`) you'd like to connect instead, as in: |
... | ... |
@@ -237,7 +237,7 @@ By default, Docker containers are "unprivileged" and cannot, for |
237 | 237 |
example, run a Docker daemon inside a Docker container. This is because |
238 | 238 |
by default a container is not allowed to access any devices, but a |
239 | 239 |
"privileged" container is given access to all devices (see [lxc-template.go]( |
240 |
-https://github.com/dotcloud/docker/blob/master/daemon/execdriver/lxc/lxc_template.go) |
|
240 |
+https://github.com/docker/docker/blob/master/daemon/execdriver/lxc/lxc_template.go) |
|
241 | 241 |
and documentation on [cgroups devices]( |
242 | 242 |
https://www.kernel.org/doc/Documentation/cgroups/devices.txt)). |
243 | 243 |
|
... | ... |
@@ -262,7 +262,7 @@ If the Docker daemon was started using the `lxc` exec-driver |
262 | 262 |
(`docker -d --exec-driver=lxc`) then the operator can also specify LXC options |
263 | 263 |
using one or more `--lxc-conf` parameters. These can be new parameters or |
264 | 264 |
override existing parameters from the [lxc-template.go]( |
265 |
-https://github.com/dotcloud/docker/blob/master/daemon/execdriver/lxc/lxc_template.go). |
|
265 |
+https://github.com/docker/docker/blob/master/daemon/execdriver/lxc/lxc_template.go). |
|
266 | 266 |
Note that in the future, a given host's docker daemon may not use LXC, so this |
267 | 267 |
is an implementation-specific configuration meant for operators already |
268 | 268 |
familiar with using LXC directly. |
... | ... |
@@ -130,7 +130,7 @@ We can see we've returned a lot of images that use the term `sinatra`. We've |
130 | 130 |
returned a list of image names, descriptions, Stars (which measure the social |
131 | 131 |
popularity of images - if a user likes an image then they can "star" it), and |
132 | 132 |
the Official and Automated build statuses. Official repositories are built and |
133 |
-maintained by the [Stackbrew](https://github.com/dotcloud/stackbrew) project, |
|
133 |
+maintained by the [Stackbrew](https://github.com/docker/stackbrew) project, |
|
134 | 134 |
and Automated repositories are [Automated Builds]( |
135 | 135 |
/userguide/dockerrepos/#automated-builds) that allow you to validate the source |
136 | 136 |
and content of an image. |
... | ... |
@@ -87,7 +87,7 @@ Go to [Working with Docker Hub](/userguide/dockerrepos). |
87 | 87 |
* [Docker blog](http://blog.docker.com/) |
88 | 88 |
* [Docker documentation](http://docs.docker.com/) |
89 | 89 |
* [Docker Getting Started Guide](http://www.docker.com/gettingstarted/) |
90 |
-* [Docker code on GitHub](https://github.com/dotcloud/docker) |
|
90 |
+* [Docker code on GitHub](https://github.com/docker/docker) |
|
91 | 91 |
* [Docker mailing |
92 | 92 |
list](https://groups.google.com/forum/#!forum/docker-user) |
93 | 93 |
* Docker on IRC: irc.freenode.net and channel #docker |
... | ... |
@@ -61,7 +61,7 @@ |
61 | 61 |
</a> |
62 | 62 |
<ul id="documentation-version-list" class="dropdown-menu pull-right"> |
63 | 63 |
<li role="presentation" class="divider"></li> |
64 |
- <li> <a class="home-link3 tertiary-nav" href="https://github.com/dotcloud/docker/blob/master/docs/sources/{{ current_page.input_path }}" >Edit on GitHub</a></li> |
|
64 |
+ <li> <a class="home-link3 tertiary-nav" href="https://github.com/docker/docker/blob/master/docs/sources/{{ current_page.input_path }}" >Edit on GitHub</a></li> |
|
65 | 65 |
</ul> |
66 | 66 |
</li> |
67 | 67 |
</ul> |
... | ... |
@@ -8,5 +8,5 @@ |
8 | 8 |
{% endif %} |
9 | 9 |
{% endif %} |
10 | 10 |
{% endfor %} |
11 |
- <li class="pull-right edit-on-github"><a href="https://github.com/dotcloud/docker/blob/master/docs/sources/{{ current_page.input_path }}"><span class="glyphicon glyphicon-edit"></span>Edit on GitHub</a></li> |
|
11 |
+ <li class="pull-right edit-on-github"><a href="https://github.com/docker/docker/blob/master/docs/sources/{{ current_page.input_path }}"><span class="glyphicon glyphicon-edit"></span>Edit on GitHub</a></li> |
|
12 | 12 |
</ol> |
13 | 13 |
\ No newline at end of file |
... | ... |
@@ -10,7 +10,7 @@ |
10 | 10 |
<li><a class="primary-button" href="https://www.docker.com/community/governance/">Governance</a></li> |
11 | 11 |
<li><a class="primary-button" href="http://forums.docker.com">Forums</a></li> |
12 | 12 |
<li><a class="primary-button" href="http://botbot.me/freenode/docker">IRC</a></li> |
13 |
- <li><a class="primary-button" href="https://github.com/dotcloud/docker">GitHub</a></li> |
|
13 |
+ <li><a class="primary-button" href="https://github.com/docker/docker">GitHub</a></li> |
|
14 | 14 |
<li><a class="primary-button" href="http://stackoverflow.com/search?q=docker">Stackoverflow</a></li> |
15 | 15 |
<li><a class="primary-button" href="http://www.cafepress.com/docker">Swag</a></li> |
16 | 16 |
</ul> |
... | ... |
@@ -12,13 +12,13 @@ import ( |
12 | 12 |
"syscall" |
13 | 13 |
"time" |
14 | 14 |
|
15 |
- "github.com/dotcloud/docker/archive" |
|
16 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
17 |
- "github.com/dotcloud/docker/dockerversion" |
|
18 |
- "github.com/dotcloud/docker/image" |
|
19 |
- "github.com/dotcloud/docker/pkg/truncindex" |
|
20 |
- "github.com/dotcloud/docker/runconfig" |
|
21 |
- "github.com/dotcloud/docker/utils" |
|
15 |
+ "github.com/docker/docker/archive" |
|
16 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
17 |
+ "github.com/docker/docker/dockerversion" |
|
18 |
+ "github.com/docker/docker/image" |
|
19 |
+ "github.com/docker/docker/pkg/truncindex" |
|
20 |
+ "github.com/docker/docker/runconfig" |
|
21 |
+ "github.com/docker/docker/utils" |
|
22 | 22 |
) |
23 | 23 |
|
24 | 24 |
// A Graph is a store for versioned filesystem images and the relationship between them. |
... | ... |
@@ -3,9 +3,9 @@ package graph |
3 | 3 |
import ( |
4 | 4 |
"io" |
5 | 5 |
|
6 |
- "github.com/dotcloud/docker/engine" |
|
7 |
- "github.com/dotcloud/docker/image" |
|
8 |
- "github.com/dotcloud/docker/utils" |
|
6 |
+ "github.com/docker/docker/engine" |
|
7 |
+ "github.com/docker/docker/image" |
|
8 |
+ "github.com/docker/docker/utils" |
|
9 | 9 |
) |
10 | 10 |
|
11 | 11 |
func (s *TagStore) Install(eng *engine.Engine) error { |
... | ... |
@@ -2,11 +2,11 @@ package graph |
2 | 2 |
|
3 | 3 |
import ( |
4 | 4 |
"bytes" |
5 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
6 |
- _ "github.com/dotcloud/docker/daemon/graphdriver/vfs" // import the vfs driver so it is used in the tests |
|
7 |
- "github.com/dotcloud/docker/image" |
|
8 |
- "github.com/dotcloud/docker/utils" |
|
9 |
- "github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
5 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
6 |
+ _ "github.com/docker/docker/daemon/graphdriver/vfs" // import the vfs driver so it is used in the tests |
|
7 |
+ "github.com/docker/docker/image" |
|
8 |
+ "github.com/docker/docker/utils" |
|
9 |
+ "github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
10 | 10 |
"io" |
11 | 11 |
"os" |
12 | 12 |
"path" |
... | ... |
@@ -48,7 +48,7 @@ To build Docker, you will need the following: |
48 | 48 |
* Go version 1.2 or later |
49 | 49 |
* A clean checkout of the source added to a valid [Go |
50 | 50 |
workspace](http://golang.org/doc/code.html#Workspaces) under the path |
51 |
- *src/github.com/dotcloud/docker* (unless you plan to use `AUTO_GOPATH`, |
|
51 |
+ *src/github.com/docker/docker* (unless you plan to use `AUTO_GOPATH`, |
|
52 | 52 |
explained in more detail below). |
53 | 53 |
|
54 | 54 |
To build the Docker daemon, you will additionally need: |
... | ... |
@@ -145,7 +145,7 @@ export AUTO_GOPATH=1 |
145 | 145 |
``` |
146 | 146 |
|
147 | 147 |
This will cause the build scripts to set up a reasonable `GOPATH` that |
148 |
-automatically and properly includes both dotcloud/docker from the local |
|
148 |
+automatically and properly includes both docker/docker from the local |
|
149 | 149 |
directory, and the local "./vendor" directory as necessary. |
150 | 150 |
|
151 | 151 |
### `DOCKER_BUILDTAGS` |
... | ... |
@@ -271,9 +271,9 @@ installed and available at runtime: |
271 | 271 |
* a [properly |
272 | 272 |
mounted](https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount) |
273 | 273 |
cgroupfs hierarchy (having a single, all-encompassing "cgroup" mount point |
274 |
- [is](https://github.com/dotcloud/docker/issues/2683) |
|
275 |
- [not](https://github.com/dotcloud/docker/issues/3485) |
|
276 |
- [sufficient](https://github.com/dotcloud/docker/issues/4568)) |
|
274 |
+ [is](https://github.com/docker/docker/issues/2683) |
|
275 |
+ [not](https://github.com/docker/docker/issues/3485) |
|
276 |
+ [sufficient](https://github.com/docker/docker/issues/4568)) |
|
277 | 277 |
|
278 | 278 |
Additionally, the Docker client needs the following software to be installed and |
279 | 279 |
available at runtime: |
... | ... |
@@ -7,7 +7,7 @@ If your experience deviates from this document, please document the changes |
7 | 7 |
to keep it up-to-date. |
8 | 8 |
|
9 | 9 |
It is important to note that this document assumes that the git remote in your |
10 |
-repository that corresponds to "https://github.com/dotcloud/docker" is named |
|
10 |
+repository that corresponds to "https://github.com/docker/docker" is named |
|
11 | 11 |
"origin". If yours is not (for example, if you've chosen to name it "upstream" |
12 | 12 |
or something similar instead), be sure to adjust the listed snippets for your |
13 | 13 |
local environment accordingly. If you are not sure what your upstream remote is |
... | ... |
@@ -18,7 +18,7 @@ like: |
18 | 18 |
|
19 | 19 |
```bash |
20 | 20 |
export GITHUBUSER="YOUR_GITHUB_USER" |
21 |
-git remote add origin https://github.com/dotcloud/docker.git |
|
21 |
+git remote add origin https://github.com/docker/docker.git |
|
22 | 22 |
git remote add $GITHUBUSER git@github.com:$GITHUBUSER/docker.git |
23 | 23 |
``` |
24 | 24 |
|
... | ... |
@@ -155,7 +155,7 @@ make AWS_S3_BUCKET=beta-docs.docker.io BUILD_ROOT=yes docs-release |
155 | 155 |
git add VERSION CHANGELOG.md |
156 | 156 |
git commit -m "Bump version to $VERSION" |
157 | 157 |
git push $GITHUBUSER bump_$VERSION |
158 |
-echo "https://github.com/$GITHUBUSER/docker/compare/dotcloud:release...$GITHUBUSER:bump_$VERSION?expand=1" |
|
158 |
+echo "https://github.com/$GITHUBUSER/docker/compare/docker:release...$GITHUBUSER:bump_$VERSION?expand=1" |
|
159 | 159 |
``` |
160 | 160 |
|
161 | 161 |
That last command will give you the proper link to visit to ensure that you |
... | ... |
@@ -288,7 +288,7 @@ echo ${VERSION#v}-dev > VERSION |
288 | 288 |
git add VERSION |
289 | 289 |
git commit -m "Change version to $(cat VERSION)" |
290 | 290 |
git push $GITHUBUSER merge_release_$VERSION |
291 |
-echo "https://github.com/$GITHUBUSER/docker/compare/dotcloud:master...$GITHUBUSER:merge_release_$VERSION?expand=1" |
|
291 |
+echo "https://github.com/$GITHUBUSER/docker/compare/docker:master...$GITHUBUSER:merge_release_$VERSION?expand=1" |
|
292 | 292 |
``` |
293 | 293 |
|
294 | 294 |
Again, get two maintainers to validate, then merge, then push that pretty |
... | ... |
@@ -3,7 +3,7 @@ |
3 | 3 |
This document is a high-level overview of where we want to take Docker next. |
4 | 4 |
It is a curated selection of planned improvements which are either important, difficult, or both. |
5 | 5 |
|
6 |
-For a more complete view of planned and requested improvements, see [the Github issues](https://github.com/dotcloud/docker/issues). |
|
6 |
+For a more complete view of planned and requested improvements, see [the Github issues](https://github.com/docker/docker/issues). |
|
7 | 7 |
|
8 | 8 |
To suggest changes to the roadmap, including additions, please write the change as if it were already in effect, and make a pull request. |
9 | 9 |
|
... | ... |
@@ -2,7 +2,7 @@ |
2 | 2 |
set -e |
3 | 3 |
|
4 | 4 |
# DinD: a wrapper script which allows docker to be run inside a docker container. |
5 |
-# Original version by Jerome Petazzoni <jerome@dotcloud.com> |
|
5 |
+# Original version by Jerome Petazzoni <jerome@docker.com> |
|
6 | 6 |
# See the blog post: http://blog.docker.com/2013/09/docker-can-now-run-within-docker/ |
7 | 7 |
# |
8 | 8 |
# This script should be executed inside a docker container in privilieged mode |
... | ... |
@@ -6,7 +6,7 @@ set -e |
6 | 6 |
# |
7 | 7 |
# Requirements: |
8 | 8 |
# - The current directory should be a checkout of the docker source code |
9 |
-# (http://github.com/dotcloud/docker). Whatever version is checked out |
|
9 |
+# (http://github.com/docker/docker). Whatever version is checked out |
|
10 | 10 |
# will be built. |
11 | 11 |
# - The VERSION file, at the root of the repository, should exist, and |
12 | 12 |
# will be used as Docker binary version and package version. |
... | ... |
@@ -25,7 +25,7 @@ set -o pipefail |
25 | 25 |
|
26 | 26 |
# We're a nice, sexy, little shell script, and people might try to run us; |
27 | 27 |
# but really, they shouldn't. We want to be in a container! |
28 |
-if [ "$(pwd)" != '/go/src/github.com/dotcloud/docker' ] || [ -z "$DOCKER_CROSSPLATFORMS" ]; then |
|
28 |
+if [ "$(pwd)" != '/go/src/github.com/docker/docker' ] || [ -z "$DOCKER_CROSSPLATFORMS" ]; then |
|
29 | 29 |
{ |
30 | 30 |
echo "# WARNING! I don't seem to be running in the Docker container." |
31 | 31 |
echo "# The result of this command might be an incorrect build, and will not be" |
... | ... |
@@ -77,8 +77,8 @@ fi |
77 | 77 |
|
78 | 78 |
if [ "$AUTO_GOPATH" ]; then |
79 | 79 |
rm -rf .gopath |
80 |
- mkdir -p .gopath/src/github.com/dotcloud |
|
81 |
- ln -sf ../../../.. .gopath/src/github.com/dotcloud/docker |
|
80 |
+ mkdir -p .gopath/src/github.com/docker |
|
81 |
+ ln -sf ../../../.. .gopath/src/github.com/docker/docker |
|
82 | 82 |
export GOPATH="$(pwd)/.gopath:$(pwd)/vendor" |
83 | 83 |
fi |
84 | 84 |
|
... | ... |
@@ -91,8 +91,8 @@ fi |
91 | 91 |
# Use these flags when compiling the tests and final binary |
92 | 92 |
LDFLAGS=' |
93 | 93 |
-w |
94 |
- -X github.com/dotcloud/docker/dockerversion.GITCOMMIT "'$GITCOMMIT'" |
|
95 |
- -X github.com/dotcloud/docker/dockerversion.VERSION "'$VERSION'" |
|
94 |
+ -X github.com/docker/docker/dockerversion.GITCOMMIT "'$GITCOMMIT'" |
|
95 |
+ -X github.com/docker/docker/dockerversion.VERSION "'$VERSION'" |
|
96 | 96 |
' |
97 | 97 |
LDFLAGS_STATIC='-linkmode external' |
98 | 98 |
EXTLDFLAGS_STATIC='-static' |
... | ... |
@@ -103,7 +103,7 @@ BUILDFLAGS=( -a -tags "netgo static_build $DOCKER_BUILDTAGS" ) |
103 | 103 |
EXTLDFLAGS_STATIC_DOCKER="$EXTLDFLAGS_STATIC -lpthread -Wl,--unresolved-symbols=ignore-in-object-files" |
104 | 104 |
LDFLAGS_STATIC_DOCKER=" |
105 | 105 |
$LDFLAGS_STATIC |
106 |
- -X github.com/dotcloud/docker/dockerversion.IAMSTATIC true |
|
106 |
+ -X github.com/docker/docker/dockerversion.IAMSTATIC true |
|
107 | 107 |
-extldflags \"$EXTLDFLAGS_STATIC_DOCKER\" |
108 | 108 |
" |
109 | 109 |
|
... | ... |
@@ -150,7 +150,7 @@ go_test_dir() { |
150 | 150 |
testcover=( -cover -coverprofile "$coverprofile" $coverpkg ) |
151 | 151 |
fi |
152 | 152 |
( |
153 |
- echo '+ go test' $TESTFLAGS "github.com/dotcloud/docker${dir#.}" |
|
153 |
+ echo '+ go test' $TESTFLAGS "github.com/docker/docker${dir#.}" |
|
154 | 154 |
cd "$dir" |
155 | 155 |
go test ${testcover[@]} -ldflags "$LDFLAGS" "${BUILDFLAGS[@]}" $TESTFLAGS |
156 | 156 |
) |
... | ... |
@@ -2,8 +2,8 @@ |
2 | 2 |
|
3 | 3 |
if ! docker inspect scratch &> /dev/null; then |
4 | 4 |
# let's build a "docker save" tarball for "scratch" |
5 |
- # see https://github.com/dotcloud/docker/pull/5262 |
|
6 |
- # and also https://github.com/dotcloud/docker/issues/4242 |
|
5 |
+ # see https://github.com/docker/docker/pull/5262 |
|
6 |
+ # and also https://github.com/docker/docker/issues/4242 |
|
7 | 7 |
mkdir -p /docker-scratch |
8 | 8 |
( |
9 | 9 |
cd /docker-scratch |
... | ... |
@@ -4,7 +4,7 @@ if [ -z "$VALIDATE_UPSTREAM" ]; then |
4 | 4 |
# this is kind of an expensive check, so let's not do this twice if we |
5 | 5 |
# are running more than one validate bundlescript |
6 | 6 |
|
7 |
- VALIDATE_REPO='https://github.com/dotcloud/docker.git' |
|
7 |
+ VALIDATE_REPO='https://github.com/docker/docker.git' |
|
8 | 8 |
VALIDATE_BRANCH='master' |
9 | 9 |
|
10 | 10 |
if [ "$TRAVIS" = 'true' -a "$TRAVIS_PULL_REQUEST" != 'false' ]; then |
... | ... |
@@ -39,7 +39,7 @@ fi |
39 | 39 |
# exported so that "dyntest" can easily access it later without recalculating it |
40 | 40 |
|
41 | 41 |
( |
42 |
- export LDFLAGS_STATIC_DOCKER="-X github.com/dotcloud/docker/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" -X github.com/dotcloud/docker/dockerversion.INITPATH \"$DOCKER_INITPATH\"" |
|
42 |
+ export LDFLAGS_STATIC_DOCKER="-X github.com/docker/docker/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" -X github.com/docker/docker/dockerversion.INITPATH \"$DOCKER_INITPATH\"" |
|
43 | 43 |
export BUILDFLAGS=( "${BUILDFLAGS[@]/netgo /}" ) # disable netgo, since we don't need it for a dynamic binary |
44 | 44 |
source "$(dirname "$BASH_SOURCE")/binary" |
45 | 45 |
) |
... | ... |
@@ -12,7 +12,7 @@ fi |
12 | 12 |
( |
13 | 13 |
export TEST_DOCKERINIT_PATH="$INIT" |
14 | 14 |
export LDFLAGS_STATIC_DOCKER=" |
15 |
- -X github.com/dotcloud/docker/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" |
|
15 |
+ -X github.com/docker/docker/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" |
|
16 | 16 |
" |
17 | 17 |
source "$(dirname "$BASH_SOURCE")/test-integration" |
18 | 18 |
) |
... | ... |
@@ -12,7 +12,7 @@ fi |
12 | 12 |
( |
13 | 13 |
export TEST_DOCKERINIT_PATH="$INIT" |
14 | 14 |
export LDFLAGS_STATIC_DOCKER=" |
15 |
- -X github.com/dotcloud/docker/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" |
|
15 |
+ -X github.com/docker/docker/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" |
|
16 | 16 |
" |
17 | 17 |
source "$(dirname "$BASH_SOURCE")/test-unit" |
18 | 18 |
) |
... | ... |
@@ -5,7 +5,7 @@ DEST=$1 |
5 | 5 |
|
6 | 6 |
bundle_test_integration() { |
7 | 7 |
LDFLAGS="$LDFLAGS $LDFLAGS_STATIC_DOCKER" go_test_dir ./integration \ |
8 |
- "-coverpkg $(find_dirs '*.go' | sed 's,^\.,github.com/dotcloud/docker,g' | paste -d, -s)" |
|
8 |
+ "-coverpkg $(find_dirs '*.go' | sed 's,^\.,github.com/docker/docker,g' | paste -d, -s)" |
|
9 | 9 |
} |
10 | 10 |
|
11 | 11 |
# this "grep" hides some really irritating warnings that "go test -coverpkg" |
... | ... |
@@ -12,7 +12,7 @@ notDocs="$(validate_diff --numstat | awk '$3 !~ /^docs\// { print $3 }')" |
12 | 12 |
# "Username may only contain alphanumeric characters or dashes and cannot begin with a dash" |
13 | 13 |
githubUsernameRegex='[a-zA-Z0-9][a-zA-Z0-9-]+' |
14 | 14 |
|
15 |
-# https://github.com/dotcloud/docker/blob/master/CONTRIBUTING.md#sign-your-work |
|
15 |
+# https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work |
|
16 | 16 |
dcoPrefix='Docker-DCO-1.1-Signed-off-by:' |
17 | 17 |
dcoRegex="^$dcoPrefix ([^<]+) <([^<>@]+@[^<>]+)> \\(github: ($githubUsernameRegex)\\)$" |
18 | 18 |
|
... | ... |
@@ -48,7 +48,7 @@ else |
48 | 48 |
echo 'Please amend each commit to include a properly formatted DCO marker.' |
49 | 49 |
echo |
50 | 50 |
echo 'Visit the following URL for information about the Docker DCO:' |
51 |
- echo ' https://github.com/dotcloud/docker/blob/master/CONTRIBUTING.md#sign-your-work' |
|
51 |
+ echo ' https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work' |
|
52 | 52 |
echo |
53 | 53 |
} >&2 |
54 | 54 |
false |
... | ... |
@@ -41,8 +41,8 @@ EOF |
41 | 41 |
[ "$AWS_ACCESS_KEY" ] || usage |
42 | 42 |
[ "$AWS_SECRET_KEY" ] || usage |
43 | 43 |
[ "$GPG_PASSPHRASE" ] || usage |
44 |
-[ -d /go/src/github.com/dotcloud/docker ] || usage |
|
45 |
-cd /go/src/github.com/dotcloud/docker |
|
44 |
+[ -d /go/src/github.com/docker/docker ] || usage |
|
45 |
+cd /go/src/github.com/docker/docker |
|
46 | 46 |
[ -x hack/make.sh ] || usage |
47 | 47 |
|
48 | 48 |
RELEASE_BUNDLES=( |
... | ... |
@@ -357,7 +357,7 @@ Key-Type: RSA |
357 | 357 |
Key-Length: 4096 |
358 | 358 |
Passphrase: $GPG_PASSPHRASE |
359 | 359 |
Name-Real: Docker Release Tool |
360 |
-Name-Email: docker@dotcloud.com |
|
360 |
+Name-Email: docker@docker.com |
|
361 | 361 |
Name-Comment: releasedocker |
362 | 362 |
Expire-Date: 0 |
363 | 363 |
%commit |
... | ... |
@@ -63,4 +63,4 @@ mv tmp-tar src/code.google.com/p/go/src/pkg/archive/tar |
63 | 63 |
|
64 | 64 |
clone git github.com/godbus/dbus v1 |
65 | 65 |
clone git github.com/coreos/go-systemd v2 |
66 |
-clone git github.com/docker/libcontainer cf45d141db69ce11dcccac178e5607a385609e15 |
|
66 |
+clone git github.com/docker/libcontainer e6a43c1c2b9f769deb96348a0a93417cd48a36d8 |
... | ... |
@@ -3,10 +3,10 @@ package image |
3 | 3 |
import ( |
4 | 4 |
"encoding/json" |
5 | 5 |
"fmt" |
6 |
- "github.com/dotcloud/docker/archive" |
|
7 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
8 |
- "github.com/dotcloud/docker/runconfig" |
|
9 |
- "github.com/dotcloud/docker/utils" |
|
6 |
+ "github.com/docker/docker/archive" |
|
7 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
8 |
+ "github.com/docker/docker/runconfig" |
|
9 |
+ "github.com/docker/docker/utils" |
|
10 | 10 |
"io/ioutil" |
11 | 11 |
"os" |
12 | 12 |
"path" |
... | ... |
@@ -12,11 +12,11 @@ import ( |
12 | 12 |
"testing" |
13 | 13 |
"time" |
14 | 14 |
|
15 |
- "github.com/dotcloud/docker/api" |
|
16 |
- "github.com/dotcloud/docker/api/server" |
|
17 |
- "github.com/dotcloud/docker/engine" |
|
18 |
- "github.com/dotcloud/docker/runconfig" |
|
19 |
- "github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
15 |
+ "github.com/docker/docker/api" |
|
16 |
+ "github.com/docker/docker/api/server" |
|
17 |
+ "github.com/docker/docker/engine" |
|
18 |
+ "github.com/docker/docker/runconfig" |
|
19 |
+ "github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
20 | 20 |
) |
21 | 21 |
|
22 | 22 |
func TestGetContainersJSON(t *testing.T) { |
... | ... |
@@ -4,10 +4,11 @@ import ( |
4 | 4 |
"crypto/rand" |
5 | 5 |
"encoding/hex" |
6 | 6 |
"fmt" |
7 |
- "github.com/dotcloud/docker/registry" |
|
8 | 7 |
"os" |
9 | 8 |
"strings" |
10 | 9 |
"testing" |
10 |
+ |
|
11 |
+ "github.com/docker/docker/registry" |
|
11 | 12 |
) |
12 | 13 |
|
13 | 14 |
// FIXME: these tests have an external dependency on a staging index hosted |
... | ... |
@@ -17,13 +18,13 @@ import ( |
17 | 17 |
|
18 | 18 |
func TestLogin(t *testing.T) { |
19 | 19 |
t.Skip("FIXME: please remove dependency on external services") |
20 |
- os.Setenv("DOCKER_INDEX_URL", "https://indexstaging-docker.dotcloud.com") |
|
20 |
+ os.Setenv("DOCKER_INDEX_URL", "https://registry-stage.hub.docker.com/v1/") |
|
21 | 21 |
defer os.Setenv("DOCKER_INDEX_URL", "") |
22 | 22 |
authConfig := ®istry.AuthConfig{ |
23 | 23 |
Username: "unittester", |
24 | 24 |
Password: "surlautrerivejetattendrai", |
25 | 25 |
Email: "noise+unittester@docker.com", |
26 |
- ServerAddress: "https://indexstaging-docker.dotcloud.com/v1/", |
|
26 |
+ ServerAddress: "https://registry-stage.hub.docker.com/v1/", |
|
27 | 27 |
} |
28 | 28 |
status, err := registry.Login(authConfig, nil) |
29 | 29 |
if err != nil { |
... | ... |
@@ -47,7 +48,7 @@ func TestCreateAccount(t *testing.T) { |
47 | 47 |
Username: username, |
48 | 48 |
Password: "test42", |
49 | 49 |
Email: fmt.Sprintf("docker-ut+%s@example.com", token), |
50 |
- ServerAddress: "https://indexstaging-docker.dotcloud.com/v1/", |
|
50 |
+ ServerAddress: "https://registry-stage.hub.docker.com/v1/", |
|
51 | 51 |
} |
52 | 52 |
status, err := registry.Login(authConfig, nil) |
53 | 53 |
if err != nil { |
... | ... |
@@ -11,11 +11,11 @@ import ( |
11 | 11 |
"testing" |
12 | 12 |
"time" |
13 | 13 |
|
14 |
- "github.com/dotcloud/docker/api/client" |
|
15 |
- "github.com/dotcloud/docker/daemon" |
|
16 |
- "github.com/dotcloud/docker/engine" |
|
17 |
- "github.com/dotcloud/docker/pkg/term" |
|
18 |
- "github.com/dotcloud/docker/utils" |
|
14 |
+ "github.com/docker/docker/api/client" |
|
15 |
+ "github.com/docker/docker/daemon" |
|
16 |
+ "github.com/docker/docker/engine" |
|
17 |
+ "github.com/docker/docker/pkg/term" |
|
18 |
+ "github.com/docker/docker/utils" |
|
19 | 19 |
) |
20 | 20 |
|
21 | 21 |
func closeWrap(args ...io.Closer) error { |
... | ... |
@@ -2,12 +2,12 @@ package docker |
2 | 2 |
|
3 | 3 |
import ( |
4 | 4 |
"errors" |
5 |
- "github.com/dotcloud/docker/archive" |
|
6 |
- "github.com/dotcloud/docker/daemon/graphdriver" |
|
7 |
- "github.com/dotcloud/docker/dockerversion" |
|
8 |
- "github.com/dotcloud/docker/graph" |
|
9 |
- "github.com/dotcloud/docker/image" |
|
10 |
- "github.com/dotcloud/docker/utils" |
|
5 |
+ "github.com/docker/docker/archive" |
|
6 |
+ "github.com/docker/docker/daemon/graphdriver" |
|
7 |
+ "github.com/docker/docker/dockerversion" |
|
8 |
+ "github.com/docker/docker/graph" |
|
9 |
+ "github.com/docker/docker/image" |
|
10 |
+ "github.com/docker/docker/utils" |
|
11 | 11 |
"io" |
12 | 12 |
"io/ioutil" |
13 | 13 |
"os" |
... | ... |
@@ -16,13 +16,13 @@ import ( |
16 | 16 |
"testing" |
17 | 17 |
"time" |
18 | 18 |
|
19 |
- "github.com/dotcloud/docker/daemon" |
|
20 |
- "github.com/dotcloud/docker/engine" |
|
21 |
- "github.com/dotcloud/docker/image" |
|
22 |
- "github.com/dotcloud/docker/nat" |
|
23 |
- "github.com/dotcloud/docker/runconfig" |
|
24 |
- "github.com/dotcloud/docker/sysinit" |
|
25 |
- "github.com/dotcloud/docker/utils" |
|
19 |
+ "github.com/docker/docker/daemon" |
|
20 |
+ "github.com/docker/docker/engine" |
|
21 |
+ "github.com/docker/docker/image" |
|
22 |
+ "github.com/docker/docker/nat" |
|
23 |
+ "github.com/docker/docker/runconfig" |
|
24 |
+ "github.com/docker/docker/sysinit" |
|
25 |
+ "github.com/docker/docker/utils" |
|
26 | 26 |
) |
27 | 27 |
|
28 | 28 |
const ( |
... | ... |
@@ -13,14 +13,14 @@ import ( |
13 | 13 |
"testing" |
14 | 14 |
"time" |
15 | 15 |
|
16 |
- "github.com/dotcloud/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
17 |
- |
|
18 |
- "github.com/dotcloud/docker/builtins" |
|
19 |
- "github.com/dotcloud/docker/daemon" |
|
20 |
- "github.com/dotcloud/docker/engine" |
|
21 |
- "github.com/dotcloud/docker/runconfig" |
|
22 |
- "github.com/dotcloud/docker/server" |
|
23 |
- "github.com/dotcloud/docker/utils" |
|
16 |
+ "github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar" |
|
17 |
+ |
|
18 |
+ "github.com/docker/docker/builtins" |
|
19 |
+ "github.com/docker/docker/daemon" |
|
20 |
+ "github.com/docker/docker/engine" |
|
21 |
+ "github.com/docker/docker/runconfig" |
|
22 |
+ "github.com/docker/docker/server" |
|
23 |
+ "github.com/docker/docker/utils" |
|
24 | 24 |
) |
25 | 25 |
|
26 | 26 |
// This file contains utility functions for docker's unit test suite. |
... | ... |
@@ -10,7 +10,7 @@ |
10 | 10 |
Define flags using flag.String(), Bool(), Int(), etc. |
11 | 11 |
|
12 | 12 |
This declares an integer flag, -f or --flagname, stored in the pointer ip, with type *int. |
13 |
- import "flag /github.com/dotcloud/docker/pkg/mflag" |
|
13 |
+ import "flag /github.com/docker/docker/pkg/mflag" |
|
14 | 14 |
var ip = flag.Int([]string{"f", "-flagname"}, 1234, "help message for flagname") |
15 | 15 |
If you like, you can bind the flag to a variable using the Var() functions. |
16 | 16 |
var flagvar int |
... | ... |
@@ -1,5 +1,5 @@ |
1 |
-Sam Alba <sam@dotcloud.com> (@samalba) |
|
2 |
-Joffrey Fuhrer <joffrey@dotcloud.com> (@shin-) |
|
3 |
-Ken Cochrane <ken@dotcloud.com> (@kencochrane) |
|
1 |
+Sam Alba <sam@docker.com> (@samalba) |
|
2 |
+Joffrey Fuhrer <joffrey@docker.com> (@shin-) |
|
3 |
+Ken Cochrane <ken@docker.com> (@kencochrane) |
|
4 | 4 |
Vincent Batts <vbatts@redhat.com> (@vbatts) |
5 | 5 |
Olivier Gambier <olivier@docker.com> (@dmp42) |
... | ... |
@@ -11,7 +11,7 @@ import ( |
11 | 11 |
"path" |
12 | 12 |
"strings" |
13 | 13 |
|
14 |
- "github.com/dotcloud/docker/utils" |
|
14 |
+ "github.com/docker/docker/utils" |
|
15 | 15 |
) |
16 | 16 |
|
17 | 17 |
// Where we store the config file |
... | ... |
@@ -20,7 +20,7 @@ const CONFIGFILE = ".dockercfg" |
20 | 20 |
// Only used for user auth + account creation |
21 | 21 |
const INDEXSERVER = "https://index.docker.io/v1/" |
22 | 22 |
|
23 |
-//const INDEXSERVER = "https://indexstaging-docker.dotcloud.com/v1/" |
|
23 |
+//const INDEXSERVER = "https://registry-stage.hub.docker.com/v1/" |
|
24 | 24 |
|
25 | 25 |
var ( |
26 | 26 |
ErrConfigFileMissing = errors.New("The Auth config file is missing") |
... | ... |
@@ -7,7 +7,7 @@ import ( |
7 | 7 |
"strings" |
8 | 8 |
"testing" |
9 | 9 |
|
10 |
- "github.com/dotcloud/docker/utils" |
|
10 |
+ "github.com/docker/docker/utils" |
|
11 | 11 |
) |
12 | 12 |
|
13 | 13 |
var ( |
... | ... |
@@ -145,7 +145,7 @@ func TestPushImageLayerRegistry(t *testing.T) { |
145 | 145 |
} |
146 | 146 |
|
147 | 147 |
func TestResolveRepositoryName(t *testing.T) { |
148 |
- _, _, err := ResolveRepositoryName("https://github.com/dotcloud/docker") |
|
148 |
+ _, _, err := ResolveRepositoryName("https://github.com/docker/docker") |
|
149 | 149 |
assertEqual(t, err, ErrInvalidRepositoryName, "Expected error invalid repo name") |
150 | 150 |
ep, repo, err := ResolveRepositoryName("fooo/bar") |
151 | 151 |
if err != nil { |
... | ... |
@@ -1,8 +1,8 @@ |
1 | 1 |
package runconfig |
2 | 2 |
|
3 | 3 |
import ( |
4 |
- "github.com/dotcloud/docker/engine" |
|
5 |
- "github.com/dotcloud/docker/nat" |
|
4 |
+ "github.com/docker/docker/engine" |
|
5 |
+ "github.com/docker/docker/nat" |
|
6 | 6 |
) |
7 | 7 |
|
8 | 8 |
// Note: the Config structure should hold only portable information about the container. |
... | ... |
@@ -3,9 +3,9 @@ package runconfig |
3 | 3 |
import ( |
4 | 4 |
"strings" |
5 | 5 |
|
6 |
- "github.com/dotcloud/docker/engine" |
|
7 |
- "github.com/dotcloud/docker/nat" |
|
8 |
- "github.com/dotcloud/docker/utils" |
|
6 |
+ "github.com/docker/docker/engine" |
|
7 |
+ "github.com/docker/docker/nat" |
|
8 |
+ "github.com/docker/docker/utils" |
|
9 | 9 |
) |
10 | 10 |
|
11 | 11 |
type NetworkMode string |
... | ... |
@@ -6,12 +6,12 @@ import ( |
6 | 6 |
"path" |
7 | 7 |
"strings" |
8 | 8 |
|
9 |
- "github.com/dotcloud/docker/nat" |
|
10 |
- "github.com/dotcloud/docker/opts" |
|
11 |
- flag "github.com/dotcloud/docker/pkg/mflag" |
|
12 |
- "github.com/dotcloud/docker/pkg/sysinfo" |
|
13 |
- "github.com/dotcloud/docker/pkg/units" |
|
14 |
- "github.com/dotcloud/docker/utils" |
|
9 |
+ "github.com/docker/docker/nat" |
|
10 |
+ "github.com/docker/docker/opts" |
|
11 |
+ flag "github.com/docker/docker/pkg/mflag" |
|
12 |
+ "github.com/docker/docker/pkg/sysinfo" |
|
13 |
+ "github.com/docker/docker/pkg/units" |
|
14 |
+ "github.com/docker/docker/utils" |
|
15 | 15 |
) |
16 | 16 |
|
17 | 17 |
var ( |
... | ... |
@@ -19,14 +19,14 @@ import ( |
19 | 19 |
"syscall" |
20 | 20 |
"time" |
21 | 21 |
|
22 |
- "github.com/dotcloud/docker/archive" |
|
23 |
- "github.com/dotcloud/docker/daemon" |
|
24 |
- "github.com/dotcloud/docker/nat" |
|
25 |
- "github.com/dotcloud/docker/pkg/symlink" |
|
26 |
- "github.com/dotcloud/docker/pkg/system" |
|
27 |
- "github.com/dotcloud/docker/registry" |
|
28 |
- "github.com/dotcloud/docker/runconfig" |
|
29 |
- "github.com/dotcloud/docker/utils" |
|
22 |
+ "github.com/docker/docker/archive" |
|
23 |
+ "github.com/docker/docker/daemon" |
|
24 |
+ "github.com/docker/docker/nat" |
|
25 |
+ "github.com/docker/docker/pkg/symlink" |
|
26 |
+ "github.com/docker/docker/pkg/system" |
|
27 |
+ "github.com/docker/docker/registry" |
|
28 |
+ "github.com/docker/docker/runconfig" |
|
29 |
+ "github.com/docker/docker/utils" |
|
30 | 30 |
) |
31 | 31 |
|
32 | 32 |
var ( |
... | ... |
@@ -45,20 +45,20 @@ import ( |
45 | 45 |
"syscall" |
46 | 46 |
"time" |
47 | 47 |
|
48 |
- "github.com/dotcloud/docker/archive" |
|
49 |
- "github.com/dotcloud/docker/daemon" |
|
50 |
- "github.com/dotcloud/docker/daemonconfig" |
|
51 |
- "github.com/dotcloud/docker/dockerversion" |
|
52 |
- "github.com/dotcloud/docker/engine" |
|
53 |
- "github.com/dotcloud/docker/graph" |
|
54 |
- "github.com/dotcloud/docker/image" |
|
55 |
- "github.com/dotcloud/docker/pkg/graphdb" |
|
56 |
- "github.com/dotcloud/docker/pkg/signal" |
|
57 |
- "github.com/dotcloud/docker/pkg/tailfile" |
|
58 |
- "github.com/dotcloud/docker/registry" |
|
59 |
- "github.com/dotcloud/docker/runconfig" |
|
60 |
- "github.com/dotcloud/docker/utils" |
|
61 |
- "github.com/dotcloud/docker/utils/filters" |
|
48 |
+ "github.com/docker/docker/archive" |
|
49 |
+ "github.com/docker/docker/daemon" |
|
50 |
+ "github.com/docker/docker/daemonconfig" |
|
51 |
+ "github.com/docker/docker/dockerversion" |
|
52 |
+ "github.com/docker/docker/engine" |
|
53 |
+ "github.com/docker/docker/graph" |
|
54 |
+ "github.com/docker/docker/image" |
|
55 |
+ "github.com/docker/docker/pkg/graphdb" |
|
56 |
+ "github.com/docker/docker/pkg/signal" |
|
57 |
+ "github.com/docker/docker/pkg/tailfile" |
|
58 |
+ "github.com/docker/docker/registry" |
|
59 |
+ "github.com/docker/docker/runconfig" |
|
60 |
+ "github.com/docker/docker/utils" |
|
61 |
+ "github.com/docker/docker/utils/filters" |
|
62 | 62 |
) |
63 | 63 |
|
64 | 64 |
func (srv *Server) handlerWrap(h engine.Handler) engine.Handler { |
... | ... |
@@ -6,9 +6,9 @@ import ( |
6 | 6 |
"log" |
7 | 7 |
"os" |
8 | 8 |
|
9 |
- "github.com/dotcloud/docker/daemon/execdriver" |
|
10 |
- _ "github.com/dotcloud/docker/daemon/execdriver/lxc" |
|
11 |
- _ "github.com/dotcloud/docker/daemon/execdriver/native" |
|
9 |
+ "github.com/docker/docker/daemon/execdriver" |
|
10 |
+ _ "github.com/docker/docker/daemon/execdriver/lxc" |
|
11 |
+ _ "github.com/docker/docker/daemon/execdriver/native" |
|
12 | 12 |
) |
13 | 13 |
|
14 | 14 |
func executeProgram(args *execdriver.InitArgs) error { |
... | ... |
@@ -128,23 +128,23 @@ func TestParseRepositoryTag(t *testing.T) { |
128 | 128 |
func TestCheckLocalDns(t *testing.T) { |
129 | 129 |
for resolv, result := range map[string]bool{`# Dynamic |
130 | 130 |
nameserver 10.0.2.3 |
131 |
-search dotcloud.net`: false, |
|
131 |
+search docker.com`: false, |
|
132 | 132 |
`# Dynamic |
133 | 133 |
#nameserver 127.0.0.1 |
134 | 134 |
nameserver 10.0.2.3 |
135 |
-search dotcloud.net`: false, |
|
135 |
+search docker.com`: false, |
|
136 | 136 |
`# Dynamic |
137 | 137 |
nameserver 10.0.2.3 #not used 127.0.1.1 |
138 |
-search dotcloud.net`: false, |
|
138 |
+search docker.com`: false, |
|
139 | 139 |
`# Dynamic |
140 | 140 |
#nameserver 10.0.2.3 |
141 |
-#search dotcloud.net`: true, |
|
141 |
+#search docker.com`: true, |
|
142 | 142 |
`# Dynamic |
143 | 143 |
nameserver 127.0.0.1 |
144 |
-search dotcloud.net`: true, |
|
144 |
+search docker.com`: true, |
|
145 | 145 |
`# Dynamic |
146 | 146 |
nameserver 127.0.1.1 |
147 |
-search dotcloud.net`: true, |
|
147 |
+search docker.com`: true, |
|
148 | 148 |
`# Dynamic |
149 | 149 |
`: true, |
150 | 150 |
``: true, |
... | ... |
@@ -6,14 +6,15 @@ sudo: false |
6 | 6 |
|
7 | 7 |
env: |
8 | 8 |
- TRAVIS_GLOBAL_WTF=1 |
9 |
- - _GOOS=linux _GOARCH=amd64 |
|
10 |
-# - _GOOS=linux _GOARCH=386 # Travis can't currently do 32bit cgo... (see https://travis-ci.org/tianon/libcontainer/jobs/30126518#L168) |
|
11 |
-# - _GOOS=linux _GOARCH=arm # see https://github.com/moovweb/gvm/issues/22 |
|
9 |
+ - _GOOS=linux _GOARCH=amd64 CGO_ENABLED=1 |
|
10 |
+ - _GOOS=linux _GOARCH=amd64 CGO_ENABLED=0 |
|
11 |
+# - _GOOS=linux _GOARCH=386 CGO_ENABLED=1 # TODO add this once Travis can handle it (https://github.com/travis-ci/travis-ci/issues/2207#issuecomment-49625061) |
|
12 |
+ - _GOOS=linux _GOARCH=386 CGO_ENABLED=0 |
|
13 |
+ - _GOOS=linux _GOARCH=arm CGO_ENABLED=0 |
|
12 | 14 |
|
13 | 15 |
install: |
14 | 16 |
- mkdir -pv "${GOPATH%%:*}/src/github.com/docker" && [ -d "${GOPATH%%:*}/src/github.com/docker/libcontainer" ] || ln -sv "$(readlink -f .)" "${GOPATH%%:*}/src/github.com/docker/libcontainer" |
15 | 17 |
- if [ -z "$TRAVIS_GLOBAL_WTF" ]; then |
16 |
- export CGO_ENABLED=1; |
|
17 | 18 |
gvm cross "$_GOOS" "$_GOARCH"; |
18 | 19 |
export GOOS="$_GOOS" GOARCH="$_GOARCH"; |
19 | 20 |
fi |
... | ... |
@@ -30,4 +31,4 @@ script: |
30 | 30 |
- if [ "$TRAVIS_GLOBAL_WTF" ]; then bash "$DOCKER_PATH/hack/make/validate-dco"; fi |
31 | 31 |
- if [ "$TRAVIS_GLOBAL_WTF" ]; then bash "$DOCKER_PATH/hack/make/validate-gofmt"; fi |
32 | 32 |
- if [ -z "$TRAVIS_GLOBAL_WTF" ]; then go build -v ./...; fi |
33 |
- - if [ -z "$TRAVIS_GLOBAL_WTF" ]; then go test -v ./...; fi |
|
33 |
+ - if [ -z "$TRAVIS_GLOBAL_WTF" -a "$GOARCH" != 'arm' ]; then go test -test.short -v ./...; fi |
... | ... |
@@ -1,8 +1,21 @@ |
1 | 1 |
FROM crosbymichael/golang |
2 | 2 |
|
3 | 3 |
RUN apt-get update && apt-get install -y gcc |
4 |
+RUN go get code.google.com/p/go.tools/cmd/cover |
|
4 | 5 |
|
5 |
-ADD . /go/src/github.com/docker/libcontainer |
|
6 |
-RUN cd /go/src/github.com/docker/libcontainer && go get -d ./... && go install ./... |
|
6 |
+# setup a playground for us to spawn containers in |
|
7 |
+RUN mkdir /busybox && \ |
|
8 |
+ curl -sSL 'https://github.com/jpetazzo/docker-busybox/raw/buildroot-2014.02/rootfs.tar' | tar -xC /busybox |
|
7 | 9 |
|
8 |
-CMD ["nsinit"] |
|
10 |
+RUN curl -sSL https://raw.githubusercontent.com/docker/docker/master/hack/dind -o /dind && \ |
|
11 |
+ chmod +x /dind |
|
12 |
+ |
|
13 |
+COPY . /go/src/github.com/docker/libcontainer |
|
14 |
+WORKDIR /go/src/github.com/docker/libcontainer |
|
15 |
+RUN cp sample_configs/minimal.json /busybox/container.json |
|
16 |
+ |
|
17 |
+RUN go get -d -v ./... |
|
18 |
+RUN go install -v ./... |
|
19 |
+ |
|
20 |
+ENTRYPOINT ["/dind"] |
|
21 |
+CMD ["go", "test", "-cover", "./..."] |
9 | 22 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,10 @@ |
0 |
+ |
|
1 |
+all: |
|
2 |
+ docker build -t docker/libcontainer . |
|
3 |
+ |
|
4 |
+test: |
|
5 |
+ # we need NET_ADMIN for the netlink tests and SYS_ADMIN for mounting |
|
6 |
+ docker run --rm --cap-add NET_ADMIN --cap-add SYS_ADMIN docker/libcontainer |
|
7 |
+ |
|
8 |
+sh: |
|
9 |
+ docker run --rm -ti -w /busybox --rm --cap-add NET_ADMIN --cap-add SYS_ADMIN docker/libcontainer nsinit exec sh |
... | ... |
@@ -14,9 +14,9 @@ import ( |
14 | 14 |
"time" |
15 | 15 |
|
16 | 16 |
systemd1 "github.com/coreos/go-systemd/dbus" |
17 |
+ "github.com/docker/docker/pkg/systemd" |
|
17 | 18 |
"github.com/docker/libcontainer/cgroups" |
18 | 19 |
"github.com/docker/libcontainer/cgroups/fs" |
19 |
- "github.com/dotcloud/docker/pkg/systemd" |
|
20 | 20 |
"github.com/godbus/dbus" |
21 | 21 |
) |
22 | 22 |
|
... | ... |
@@ -9,7 +9,7 @@ import ( |
9 | 9 |
"strconv" |
10 | 10 |
"strings" |
11 | 11 |
|
12 |
- "github.com/dotcloud/docker/pkg/mount" |
|
12 |
+ "github.com/docker/docker/pkg/mount" |
|
13 | 13 |
) |
14 | 14 |
|
15 | 15 |
// https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt |
... | ... |
@@ -97,7 +97,7 @@ func GetAllSubsystems() ([]string, error) { |
97 | 97 |
text := s.Text() |
98 | 98 |
if text[0] != '#' { |
99 | 99 |
parts := strings.Fields(text) |
100 |
- if len(parts) > 4 && parts[3] != "0" { |
|
100 |
+ if len(parts) >= 4 && parts[3] != "0" { |
|
101 | 101 |
subsystems = append(subsystems, parts[0]) |
102 | 102 |
} |
103 | 103 |
} |
... | ... |
@@ -146,8 +146,8 @@ var ( |
146 | 146 |
// /dev/fuse is created but not allowed. |
147 | 147 |
// This is to allow java to work. Because java |
148 | 148 |
// Insists on there being a /dev/fuse |
149 |
- // https://github.com/dotcloud/docker/issues/514 |
|
150 |
- // https://github.com/dotcloud/docker/issues/2393 |
|
149 |
+ // https://github.com/docker/docker/issues/514 |
|
150 |
+ // https://github.com/docker/docker/issues/2393 |
|
151 | 151 |
// |
152 | 152 |
Path: "/dev/fuse", |
153 | 153 |
Type: 'c', |
... | ... |
@@ -8,9 +8,9 @@ import ( |
8 | 8 |
"path/filepath" |
9 | 9 |
"syscall" |
10 | 10 |
|
11 |
+ "github.com/docker/docker/pkg/symlink" |
|
11 | 12 |
"github.com/docker/libcontainer/label" |
12 | 13 |
"github.com/docker/libcontainer/mount/nodes" |
13 |
- "github.com/dotcloud/docker/pkg/symlink" |
|
14 | 14 |
) |
15 | 15 |
|
16 | 16 |
// default mount point flags |
... | ... |
@@ -52,9 +52,17 @@ func InitializeMountNamespace(rootfs, console string, sysReadonly bool, mountCon |
52 | 52 |
if err := SetupPtmx(rootfs, console, mountConfig.MountLabel); err != nil { |
53 | 53 |
return err |
54 | 54 |
} |
55 |
+ |
|
56 |
+ // stdin, stdout and stderr could be pointing to /dev/null from parent namespace. |
|
57 |
+ // Re-open them inside this namespace. |
|
58 |
+ if err := reOpenDevNull(rootfs); err != nil { |
|
59 |
+ return fmt.Errorf("Failed to reopen /dev/null %s", err) |
|
60 |
+ } |
|
61 |
+ |
|
55 | 62 |
if err := setupDevSymlinks(rootfs); err != nil { |
56 | 63 |
return fmt.Errorf("dev symlinks %s", err) |
57 | 64 |
} |
65 |
+ |
|
58 | 66 |
if err := syscall.Chdir(rootfs); err != nil { |
59 | 67 |
return fmt.Errorf("chdir into %s %s", rootfs, err) |
60 | 68 |
} |
... | ... |
@@ -208,3 +216,29 @@ func newSystemMounts(rootfs, mountLabel string, sysReadonly bool, mounts Mounts) |
208 | 208 |
|
209 | 209 |
return systemMounts |
210 | 210 |
} |
211 |
+ |
|
212 |
+// Is stdin, stdout or stderr were to be pointing to '/dev/null', |
|
213 |
+// this method will make them point to '/dev/null' from within this namespace. |
|
214 |
+func reOpenDevNull(rootfs string) error { |
|
215 |
+ var stat, devNullStat syscall.Stat_t |
|
216 |
+ file, err := os.Open(filepath.Join(rootfs, "/dev/null")) |
|
217 |
+ if err != nil { |
|
218 |
+ return fmt.Errorf("Failed to open /dev/null - %s", err) |
|
219 |
+ } |
|
220 |
+ defer file.Close() |
|
221 |
+ if err = syscall.Fstat(int(file.Fd()), &devNullStat); err != nil { |
|
222 |
+ return fmt.Errorf("Failed to stat /dev/null - %s", err) |
|
223 |
+ } |
|
224 |
+ for fd := 0; fd < 3; fd++ { |
|
225 |
+ if err = syscall.Fstat(fd, &stat); err != nil { |
|
226 |
+ return fmt.Errorf("Failed to stat fd %d - %s", fd, err) |
|
227 |
+ } |
|
228 |
+ if stat.Rdev == devNullStat.Rdev { |
|
229 |
+ // Close and re-open the fd. |
|
230 |
+ if err = syscall.Dup2(int(file.Fd()), fd); err != nil { |
|
231 |
+ return fmt.Errorf("Failed to dup fd %d to fd %d - %s", file.Fd(), fd) |
|
232 |
+ } |
|
233 |
+ } |
|
234 |
+ } |
|
235 |
+ return nil |
|
236 |
+} |
... | ... |
@@ -4,32 +4,96 @@ package namespaces |
4 | 4 |
|
5 | 5 |
import ( |
6 | 6 |
"encoding/json" |
7 |
- "os" |
|
8 |
- "strconv" |
|
9 |
- |
|
10 | 7 |
"github.com/docker/libcontainer" |
11 | 8 |
"github.com/docker/libcontainer/label" |
12 | 9 |
"github.com/docker/libcontainer/system" |
10 |
+ "io" |
|
11 |
+ "os" |
|
12 |
+ "os/exec" |
|
13 |
+ "strconv" |
|
14 |
+ "syscall" |
|
13 | 15 |
) |
14 | 16 |
|
17 |
+// Runs the command under 'args' inside an existing container referred to by 'container'. |
|
18 |
+// Returns the exitcode of the command upon success and appropriate error on failure. |
|
19 |
+func RunIn(container *libcontainer.Config, state *libcontainer.State, args []string, nsinitPath string, stdin io.Reader, stdout, stderr io.Writer, console string, startCallback func(*exec.Cmd)) (int, error) { |
|
20 |
+ initArgs, err := getNsEnterCommand(strconv.Itoa(state.InitPid), container, console, args) |
|
21 |
+ if err != nil { |
|
22 |
+ return -1, err |
|
23 |
+ } |
|
24 |
+ |
|
25 |
+ cmd := exec.Command(nsinitPath, initArgs...) |
|
26 |
+ // Note: these are only used in non-tty mode |
|
27 |
+ // if there is a tty for the container it will be opened within the namespace and the |
|
28 |
+ // fds will be duped to stdin, stdiout, and stderr |
|
29 |
+ cmd.Stdin = stdin |
|
30 |
+ cmd.Stdout = stdout |
|
31 |
+ cmd.Stderr = stderr |
|
32 |
+ |
|
33 |
+ if err := cmd.Start(); err != nil { |
|
34 |
+ return -1, err |
|
35 |
+ } |
|
36 |
+ if startCallback != nil { |
|
37 |
+ startCallback(cmd) |
|
38 |
+ } |
|
39 |
+ |
|
40 |
+ if err := cmd.Wait(); err != nil { |
|
41 |
+ if _, ok := err.(*exec.ExitError); !ok { |
|
42 |
+ return -1, err |
|
43 |
+ } |
|
44 |
+ } |
|
45 |
+ |
|
46 |
+ return cmd.ProcessState.Sys().(syscall.WaitStatus).ExitStatus(), nil |
|
47 |
+} |
|
48 |
+ |
|
15 | 49 |
// ExecIn uses an existing pid and joins the pid's namespaces with the new command. |
16 | 50 |
func ExecIn(container *libcontainer.Config, state *libcontainer.State, args []string) error { |
17 |
- // TODO(vmarmol): If this gets too long, send it over a pipe to the child. |
|
18 |
- // Marshall the container into JSON since it won't be available in the namespace. |
|
19 |
- containerJson, err := json.Marshal(container) |
|
51 |
+ // Enter the namespace and then finish setup |
|
52 |
+ args, err := getNsEnterCommand(strconv.Itoa(state.InitPid), container, "", args) |
|
20 | 53 |
if err != nil { |
21 | 54 |
return err |
22 | 55 |
} |
23 | 56 |
|
24 |
- // Enter the namespace and then finish setup |
|
25 |
- finalArgs := []string{os.Args[0], "nsenter", "--nspid", strconv.Itoa(state.InitPid), "--containerjson", string(containerJson), "--"} |
|
26 |
- finalArgs = append(finalArgs, args...) |
|
57 |
+ finalArgs := append([]string{os.Args[0]}, args...) |
|
58 |
+ |
|
27 | 59 |
if err := system.Execv(finalArgs[0], finalArgs[0:], os.Environ()); err != nil { |
28 | 60 |
return err |
29 | 61 |
} |
62 |
+ |
|
30 | 63 |
panic("unreachable") |
31 | 64 |
} |
32 | 65 |
|
66 |
+func getContainerJson(container *libcontainer.Config) (string, error) { |
|
67 |
+ // TODO(vmarmol): If this gets too long, send it over a pipe to the child. |
|
68 |
+ // Marshall the container into JSON since it won't be available in the namespace. |
|
69 |
+ containerJson, err := json.Marshal(container) |
|
70 |
+ if err != nil { |
|
71 |
+ return "", err |
|
72 |
+ } |
|
73 |
+ return string(containerJson), nil |
|
74 |
+} |
|
75 |
+ |
|
76 |
+func getNsEnterCommand(initPid string, container *libcontainer.Config, console string, args []string) ([]string, error) { |
|
77 |
+ containerJson, err := getContainerJson(container) |
|
78 |
+ if err != nil { |
|
79 |
+ return nil, err |
|
80 |
+ } |
|
81 |
+ |
|
82 |
+ out := []string{ |
|
83 |
+ "nsenter", |
|
84 |
+ "--nspid", initPid, |
|
85 |
+ "--containerjson", containerJson, |
|
86 |
+ } |
|
87 |
+ |
|
88 |
+ if console != "" { |
|
89 |
+ out = append(out, "--console", console) |
|
90 |
+ } |
|
91 |
+ out = append(out, "--") |
|
92 |
+ out = append(out, args...) |
|
93 |
+ |
|
94 |
+ return out, nil |
|
95 |
+} |
|
96 |
+ |
|
33 | 97 |
// Run a command in a container after entering the namespace. |
34 | 98 |
func NsEnter(container *libcontainer.Config, args []string) error { |
35 | 99 |
// clear the current processes env and replace it with the environment |
... | ... |
@@ -9,6 +9,7 @@ import ( |
9 | 9 |
"strings" |
10 | 10 |
"syscall" |
11 | 11 |
|
12 |
+ "github.com/docker/docker/pkg/user" |
|
12 | 13 |
"github.com/docker/libcontainer" |
13 | 14 |
"github.com/docker/libcontainer/apparmor" |
14 | 15 |
"github.com/docker/libcontainer/console" |
... | ... |
@@ -21,7 +22,6 @@ import ( |
21 | 21 |
"github.com/docker/libcontainer/syncpipe" |
22 | 22 |
"github.com/docker/libcontainer/system" |
23 | 23 |
"github.com/docker/libcontainer/utils" |
24 |
- "github.com/dotcloud/docker/pkg/user" |
|
25 | 24 |
) |
26 | 25 |
|
27 | 26 |
// TODO(vishh): This is part of the libcontainer API and it does much more than just namespaces related work. |
... | ... |
@@ -88,6 +88,7 @@ void nsenter() { |
88 | 88 |
static const struct option longopts[] = { |
89 | 89 |
{ "nspid", required_argument, NULL, 'n' }, |
90 | 90 |
{ "containerjson", required_argument, NULL, 'c' }, |
91 |
+ { "console", required_argument, NULL, 't' }, |
|
91 | 92 |
{ NULL, 0, NULL, 0 } |
92 | 93 |
}; |
93 | 94 |
|
... | ... |
@@ -95,6 +96,7 @@ void nsenter() { |
95 | 95 |
pid_t init_pid = -1; |
96 | 96 |
char *init_pid_str = NULL; |
97 | 97 |
char *container_json = NULL; |
98 |
+ char *console = NULL; |
|
98 | 99 |
while ((c = getopt_long_only(argc, argv, "n:s:c:", longopts, NULL)) != -1) { |
99 | 100 |
switch (c) { |
100 | 101 |
case 'n': |
... | ... |
@@ -103,6 +105,9 @@ void nsenter() { |
103 | 103 |
case 'c': |
104 | 104 |
container_json = optarg; |
105 | 105 |
break; |
106 |
+ case 't': |
|
107 |
+ console = optarg; |
|
108 |
+ break; |
|
106 | 109 |
} |
107 | 110 |
} |
108 | 111 |
|
... | ... |
@@ -121,6 +126,21 @@ void nsenter() { |
121 | 121 |
argc -= 3; |
122 | 122 |
argv += 3; |
123 | 123 |
|
124 |
+ if (setsid() == -1) { |
|
125 |
+ fprintf(stderr, "setsid failed. Error: %s\n", strerror(errno)); |
|
126 |
+ exit(1); |
|
127 |
+ } |
|
128 |
+ |
|
129 |
+ // before we setns we need to dup the console |
|
130 |
+ int consolefd = -1; |
|
131 |
+ if (console != NULL) { |
|
132 |
+ consolefd = open(console, O_RDWR); |
|
133 |
+ if (consolefd < 0) { |
|
134 |
+ fprintf(stderr, "nsenter: failed to open console %s %s\n", console, strerror(errno)); |
|
135 |
+ exit(1); |
|
136 |
+ } |
|
137 |
+ } |
|
138 |
+ |
|
124 | 139 |
// Setns on all supported namespaces. |
125 | 140 |
char ns_dir[PATH_MAX]; |
126 | 141 |
memset(ns_dir, 0, PATH_MAX); |
... | ... |
@@ -159,6 +179,21 @@ void nsenter() { |
159 | 159 |
// We must fork to actually enter the PID namespace. |
160 | 160 |
int child = fork(); |
161 | 161 |
if (child == 0) { |
162 |
+ if (consolefd != -1) { |
|
163 |
+ if (dup2(consolefd, STDIN_FILENO) != 0) { |
|
164 |
+ fprintf(stderr, "nsenter: failed to dup 0 %s\n", strerror(errno)); |
|
165 |
+ exit(1); |
|
166 |
+ } |
|
167 |
+ if (dup2(consolefd, STDOUT_FILENO) != STDOUT_FILENO) { |
|
168 |
+ fprintf(stderr, "nsenter: failed to dup 1 %s\n", strerror(errno)); |
|
169 |
+ exit(1); |
|
170 |
+ } |
|
171 |
+ if (dup2(consolefd, STDERR_FILENO) != STDERR_FILENO) { |
|
172 |
+ fprintf(stderr, "nsenter: failed to dup 2 %s\n", strerror(errno)); |
|
173 |
+ exit(1); |
|
174 |
+ } |
|
175 |
+} |
|
176 |
+ |
|
162 | 177 |
// Finish executing, let the Go runtime take over. |
163 | 178 |
return; |
164 | 179 |
} else { |
... | ... |
@@ -17,21 +17,27 @@ const ( |
17 | 17 |
VETH_INFO_PEER = 1 |
18 | 18 |
IFLA_NET_NS_FD = 28 |
19 | 19 |
SIOC_BRADDBR = 0x89a0 |
20 |
+ SIOC_BRDELBR = 0x89a1 |
|
20 | 21 |
SIOC_BRADDIF = 0x89a2 |
21 | 22 |
) |
22 | 23 |
|
23 | 24 |
var nextSeqNr uint32 |
24 | 25 |
|
25 | 26 |
type ifreqHwaddr struct { |
26 |
- IfrnName [16]byte |
|
27 |
+ IfrnName [IFNAMSIZ]byte |
|
27 | 28 |
IfruHwaddr syscall.RawSockaddr |
28 | 29 |
} |
29 | 30 |
|
30 | 31 |
type ifreqIndex struct { |
31 |
- IfrnName [16]byte |
|
32 |
+ IfrnName [IFNAMSIZ]byte |
|
32 | 33 |
IfruIndex int32 |
33 | 34 |
} |
34 | 35 |
|
36 |
+type ifreqFlags struct { |
|
37 |
+ IfrnName [IFNAMSIZ]byte |
|
38 |
+ Ifruflags uint16 |
|
39 |
+} |
|
40 |
+ |
|
35 | 41 |
func nativeEndian() binary.ByteOrder { |
36 | 42 |
var x uint32 = 0x01020304 |
37 | 43 |
if *(*byte)(unsafe.Pointer(&x)) == 0x01 { |
... | ... |
@@ -843,6 +849,10 @@ func getIfSocket() (fd int, err error) { |
843 | 843 |
} |
844 | 844 |
|
845 | 845 |
func NetworkChangeName(iface *net.Interface, newName string) error { |
846 |
+ if len(newName) >= IFNAMSIZ { |
|
847 |
+ return fmt.Errorf("Interface name %s too long", newName) |
|
848 |
+ } |
|
849 |
+ |
|
846 | 850 |
fd, err := getIfSocket() |
847 | 851 |
if err != nil { |
848 | 852 |
return err |
... | ... |
@@ -895,13 +905,13 @@ func NetworkCreateVethPair(name1, name2 string) error { |
895 | 895 |
// Create the actual bridge device. This is more backward-compatible than |
896 | 896 |
// netlink.NetworkLinkAdd and works on RHEL 6. |
897 | 897 |
func CreateBridge(name string, setMacAddr bool) error { |
898 |
- s, err := syscall.Socket(syscall.AF_INET6, syscall.SOCK_STREAM, syscall.IPPROTO_IP) |
|
898 |
+ if len(name) >= IFNAMSIZ { |
|
899 |
+ return fmt.Errorf("Interface name %s too long", name) |
|
900 |
+ } |
|
901 |
+ |
|
902 |
+ s, err := getIfSocket() |
|
899 | 903 |
if err != nil { |
900 |
- // ipv6 issue, creating with ipv4 |
|
901 |
- s, err = syscall.Socket(syscall.AF_INET, syscall.SOCK_STREAM, syscall.IPPROTO_IP) |
|
902 |
- if err != nil { |
|
903 |
- return err |
|
904 |
- } |
|
904 |
+ return err |
|
905 | 905 |
} |
906 | 906 |
defer syscall.Close(s) |
907 | 907 |
|
... | ... |
@@ -918,21 +928,48 @@ func CreateBridge(name string, setMacAddr bool) error { |
918 | 918 |
return nil |
919 | 919 |
} |
920 | 920 |
|
921 |
+// Delete the actual bridge device. |
|
922 |
+func DeleteBridge(name string) error { |
|
923 |
+ s, err := getIfSocket() |
|
924 |
+ if err != nil { |
|
925 |
+ return err |
|
926 |
+ } |
|
927 |
+ defer syscall.Close(s) |
|
928 |
+ |
|
929 |
+ nameBytePtr, err := syscall.BytePtrFromString(name) |
|
930 |
+ if err != nil { |
|
931 |
+ return err |
|
932 |
+ } |
|
933 |
+ |
|
934 |
+ var ifr ifreqFlags |
|
935 |
+ copy(ifr.IfrnName[:len(ifr.IfrnName)-1], []byte(name)) |
|
936 |
+ if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, uintptr(s), |
|
937 |
+ syscall.SIOCSIFFLAGS, uintptr(unsafe.Pointer(&ifr))); err != 0 { |
|
938 |
+ return err |
|
939 |
+ } |
|
940 |
+ |
|
941 |
+ if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, uintptr(s), |
|
942 |
+ SIOC_BRDELBR, uintptr(unsafe.Pointer(nameBytePtr))); err != 0 { |
|
943 |
+ return err |
|
944 |
+ } |
|
945 |
+ return nil |
|
946 |
+} |
|
947 |
+ |
|
921 | 948 |
// Add a slave to abridge device. This is more backward-compatible than |
922 | 949 |
// netlink.NetworkSetMaster and works on RHEL 6. |
923 | 950 |
func AddToBridge(iface, master *net.Interface) error { |
924 |
- s, err := syscall.Socket(syscall.AF_INET6, syscall.SOCK_STREAM, syscall.IPPROTO_IP) |
|
951 |
+ if len(master.Name) >= IFNAMSIZ { |
|
952 |
+ return fmt.Errorf("Interface name %s too long", master.Name) |
|
953 |
+ } |
|
954 |
+ |
|
955 |
+ s, err := getIfSocket() |
|
925 | 956 |
if err != nil { |
926 |
- // ipv6 issue, creating with ipv4 |
|
927 |
- s, err = syscall.Socket(syscall.AF_INET, syscall.SOCK_STREAM, syscall.IPPROTO_IP) |
|
928 |
- if err != nil { |
|
929 |
- return err |
|
930 |
- } |
|
957 |
+ return err |
|
931 | 958 |
} |
932 | 959 |
defer syscall.Close(s) |
933 | 960 |
|
934 | 961 |
ifr := ifreqIndex{} |
935 |
- copy(ifr.IfrnName[:], master.Name) |
|
962 |
+ copy(ifr.IfrnName[:len(ifr.IfrnName)-1], master.Name) |
|
936 | 963 |
ifr.IfruIndex = int32(iface.Index) |
937 | 964 |
|
938 | 965 |
if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, uintptr(s), SIOC_BRADDIF, uintptr(unsafe.Pointer(&ifr))); err != 0 { |
... | ... |
@@ -943,9 +980,13 @@ func AddToBridge(iface, master *net.Interface) error { |
943 | 943 |
} |
944 | 944 |
|
945 | 945 |
func setBridgeMacAddress(s int, name string) error { |
946 |
+ if len(name) >= IFNAMSIZ { |
|
947 |
+ return fmt.Errorf("Interface name %s too long", name) |
|
948 |
+ } |
|
949 |
+ |
|
946 | 950 |
ifr := ifreqHwaddr{} |
947 | 951 |
ifr.IfruHwaddr.Family = syscall.ARPHRD_ETHER |
948 |
- copy(ifr.IfrnName[:], name) |
|
952 |
+ copy(ifr.IfrnName[:len(ifr.IfrnName)-1], name) |
|
949 | 953 |
|
950 | 954 |
for i := 0; i < 6; i++ { |
951 | 955 |
ifr.IfruHwaddr.Data[i] = randIfrDataByte() |
952 | 956 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,55 @@ |
0 |
+package netlink |
|
1 |
+ |
|
2 |
+import ( |
|
3 |
+ "net" |
|
4 |
+ "testing" |
|
5 |
+) |
|
6 |
+ |
|
7 |
+func TestCreateBridgeWithMac(t *testing.T) { |
|
8 |
+ if testing.Short() { |
|
9 |
+ return |
|
10 |
+ } |
|
11 |
+ |
|
12 |
+ name := "testbridge" |
|
13 |
+ |
|
14 |
+ if err := CreateBridge(name, true); err != nil { |
|
15 |
+ t.Fatal(err) |
|
16 |
+ } |
|
17 |
+ |
|
18 |
+ if _, err := net.InterfaceByName(name); err != nil { |
|
19 |
+ t.Fatal(err) |
|
20 |
+ } |
|
21 |
+ |
|
22 |
+ // cleanup and tests |
|
23 |
+ |
|
24 |
+ if err := DeleteBridge(name); err != nil { |
|
25 |
+ t.Fatal(err) |
|
26 |
+ } |
|
27 |
+ |
|
28 |
+ if _, err := net.InterfaceByName(name); err == nil { |
|
29 |
+ t.Fatal("expected error getting interface because bridge was deleted") |
|
30 |
+ } |
|
31 |
+} |
|
32 |
+ |
|
33 |
+func TestCreateVethPair(t *testing.T) { |
|
34 |
+ if testing.Short() { |
|
35 |
+ return |
|
36 |
+ } |
|
37 |
+ |
|
38 |
+ var ( |
|
39 |
+ name1 = "veth1" |
|
40 |
+ name2 = "veth2" |
|
41 |
+ ) |
|
42 |
+ |
|
43 |
+ if err := NetworkCreateVethPair(name1, name2); err != nil { |
|
44 |
+ t.Fatal(err) |
|
45 |
+ } |
|
46 |
+ |
|
47 |
+ if _, err := net.InterfaceByName(name1); err != nil { |
|
48 |
+ t.Fatal(err) |
|
49 |
+ } |
|
50 |
+ |
|
51 |
+ if _, err := net.InterfaceByName(name2); err != nil { |
|
52 |
+ t.Fatal(err) |
|
53 |
+ } |
|
54 |
+} |
... | ... |
@@ -67,6 +67,10 @@ func CreateBridge(name string, setMacAddr bool) error { |
67 | 67 |
return ErrNotImplemented |
68 | 68 |
} |
69 | 69 |
|
70 |
+func DeleteBridge(name string) error { |
|
71 |
+ return ErrNotImplemented |
|
72 |
+} |
|
73 |
+ |
|
70 | 74 |
func AddToBridge(iface, master *net.Interface) error { |
71 | 75 |
return ErrNotImplemented |
72 | 76 |
} |
... | ... |
@@ -9,36 +9,37 @@ import ( |
9 | 9 |
) |
10 | 10 |
|
11 | 11 |
type NetworkStats struct { |
12 |
- RxBytes uint64 `json:"rx_bytes,omitempty"` |
|
13 |
- RxPackets uint64 `json:"rx_packets,omitempty"` |
|
14 |
- RxErrors uint64 `json:"rx_errors,omitempty"` |
|
15 |
- RxDropped uint64 `json:"rx_dropped,omitempty"` |
|
16 |
- TxBytes uint64 `json:"tx_bytes,omitempty"` |
|
17 |
- TxPackets uint64 `json:"tx_packets,omitempty"` |
|
18 |
- TxErrors uint64 `json:"tx_errors,omitempty"` |
|
19 |
- TxDropped uint64 `json:"tx_dropped,omitempty"` |
|
12 |
+ RxBytes uint64 `json:"rx_bytes"` |
|
13 |
+ RxPackets uint64 `json:"rx_packets"` |
|
14 |
+ RxErrors uint64 `json:"rx_errors"` |
|
15 |
+ RxDropped uint64 `json:"rx_dropped"` |
|
16 |
+ TxBytes uint64 `json:"tx_bytes"` |
|
17 |
+ TxPackets uint64 `json:"tx_packets"` |
|
18 |
+ TxErrors uint64 `json:"tx_errors"` |
|
19 |
+ TxDropped uint64 `json:"tx_dropped"` |
|
20 | 20 |
} |
21 | 21 |
|
22 | 22 |
// Returns the network statistics for the network interfaces represented by the NetworkRuntimeInfo. |
23 |
-func GetStats(networkState *NetworkState) (NetworkStats, error) { |
|
23 |
+func GetStats(networkState *NetworkState) (*NetworkStats, error) { |
|
24 | 24 |
// This can happen if the network runtime information is missing - possible if the container was created by an old version of libcontainer. |
25 | 25 |
if networkState.VethHost == "" { |
26 |
- return NetworkStats{}, nil |
|
26 |
+ return &NetworkStats{}, nil |
|
27 | 27 |
} |
28 | 28 |
data, err := readSysfsNetworkStats(networkState.VethHost) |
29 | 29 |
if err != nil { |
30 |
- return NetworkStats{}, err |
|
30 |
+ return nil, err |
|
31 | 31 |
} |
32 | 32 |
|
33 |
- return NetworkStats{ |
|
34 |
- RxBytes: data["rx_bytes"], |
|
35 |
- RxPackets: data["rx_packets"], |
|
36 |
- RxErrors: data["rx_errors"], |
|
37 |
- RxDropped: data["rx_dropped"], |
|
38 |
- TxBytes: data["tx_bytes"], |
|
39 |
- TxPackets: data["tx_packets"], |
|
40 |
- TxErrors: data["tx_errors"], |
|
41 |
- TxDropped: data["tx_dropped"], |
|
33 |
+ // Ingress for host veth is from the container. Hence tx_bytes stat on the host veth is actually number of bytes received by the container. |
|
34 |
+ return &NetworkStats{ |
|
35 |
+ RxBytes: data["tx_bytes"], |
|
36 |
+ RxPackets: data["tx_packets"], |
|
37 |
+ RxErrors: data["tx_errors"], |
|
38 |
+ RxDropped: data["tx_dropped"], |
|
39 |
+ TxBytes: data["rx_bytes"], |
|
40 |
+ TxPackets: data["rx_packets"], |
|
41 |
+ TxErrors: data["rx_errors"], |
|
42 |
+ TxDropped: data["rx_dropped"], |
|
42 | 43 |
}, nil |
43 | 44 |
} |
44 | 45 |
|
... | ... |
@@ -10,10 +10,10 @@ import ( |
10 | 10 |
"syscall" |
11 | 11 |
|
12 | 12 |
"github.com/codegangsta/cli" |
13 |
+ "github.com/docker/docker/pkg/term" |
|
13 | 14 |
"github.com/docker/libcontainer" |
14 | 15 |
consolepkg "github.com/docker/libcontainer/console" |
15 | 16 |
"github.com/docker/libcontainer/namespaces" |
16 |
- "github.com/dotcloud/docker/pkg/term" |
|
17 | 17 |
) |
18 | 18 |
|
19 | 19 |
var execCommand = cli.Command{ |
... | ... |
@@ -36,7 +36,7 @@ func execAction(context *cli.Context) { |
36 | 36 |
} |
37 | 37 |
|
38 | 38 |
if state != nil { |
39 |
- err = namespaces.ExecIn(container, state, []string(context.Args())) |
|
39 |
+ exitCode, err = runIn(container, state, []string(context.Args())) |
|
40 | 40 |
} else { |
41 | 41 |
exitCode, err = startContainer(container, dataPath, []string(context.Args())) |
42 | 42 |
} |
... | ... |
@@ -48,6 +48,59 @@ func execAction(context *cli.Context) { |
48 | 48 |
os.Exit(exitCode) |
49 | 49 |
} |
50 | 50 |
|
51 |
+func runIn(container *libcontainer.Config, state *libcontainer.State, args []string) (int, error) { |
|
52 |
+ var ( |
|
53 |
+ master *os.File |
|
54 |
+ console string |
|
55 |
+ err error |
|
56 |
+ |
|
57 |
+ stdin = os.Stdin |
|
58 |
+ stdout = os.Stdout |
|
59 |
+ stderr = os.Stderr |
|
60 |
+ sigc = make(chan os.Signal, 10) |
|
61 |
+ ) |
|
62 |
+ |
|
63 |
+ signal.Notify(sigc) |
|
64 |
+ |
|
65 |
+ if container.Tty { |
|
66 |
+ stdin = nil |
|
67 |
+ stdout = nil |
|
68 |
+ stderr = nil |
|
69 |
+ |
|
70 |
+ master, console, err = consolepkg.CreateMasterAndConsole() |
|
71 |
+ if err != nil { |
|
72 |
+ log.Fatal(err) |
|
73 |
+ } |
|
74 |
+ |
|
75 |
+ go io.Copy(master, os.Stdin) |
|
76 |
+ go io.Copy(os.Stdout, master) |
|
77 |
+ |
|
78 |
+ state, err := term.SetRawTerminal(os.Stdin.Fd()) |
|
79 |
+ if err != nil { |
|
80 |
+ log.Fatal(err) |
|
81 |
+ } |
|
82 |
+ |
|
83 |
+ defer term.RestoreTerminal(os.Stdin.Fd(), state) |
|
84 |
+ } |
|
85 |
+ |
|
86 |
+ startCallback := func(cmd *exec.Cmd) { |
|
87 |
+ go func() { |
|
88 |
+ resizeTty(master) |
|
89 |
+ |
|
90 |
+ for sig := range sigc { |
|
91 |
+ switch sig { |
|
92 |
+ case syscall.SIGWINCH: |
|
93 |
+ resizeTty(master) |
|
94 |
+ default: |
|
95 |
+ cmd.Process.Signal(sig) |
|
96 |
+ } |
|
97 |
+ } |
|
98 |
+ }() |
|
99 |
+ } |
|
100 |
+ |
|
101 |
+ return namespaces.RunIn(container, state, args, os.Args[0], stdin, stdout, stderr, console, startCallback) |
|
102 |
+} |
|
103 |
+ |
|
51 | 104 |
// startContainer starts the container. Returns the exit status or -1 and an |
52 | 105 |
// error. |
53 | 106 |
// |
... | ... |
@@ -6,6 +6,6 @@ import ( |
6 | 6 |
) |
7 | 7 |
|
8 | 8 |
type ContainerStats struct { |
9 |
- NetworkStats network.NetworkStats `json:"network_stats, omitempty"` |
|
10 |
- CgroupStats *cgroups.Stats `json:"cgroup_stats, omitempty"` |
|
9 |
+ NetworkStats *network.NetworkStats `json:"network_stats,omitempty"` |
|
10 |
+ CgroupStats *cgroups.Stats `json:"cgroup_stats,omitempty"` |
|
11 | 11 |
} |