mirror of https://github.com/docker/compose.git
Merge pull request #1161 from aanand/revert-labels-and-dependencies
Revert labels and dependencies
This commit is contained in:
commit
b7046777d1
17
Dockerfile
17
Dockerfile
|
@ -15,18 +15,13 @@ RUN set -ex; \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# ENV ALL_DOCKER_VERSIONS 1.6.0
|
ENV ALL_DOCKER_VERSIONS 1.3.3 1.4.1 1.5.0
|
||||||
|
|
||||||
# RUN set -ex; \
|
RUN set -ex; \
|
||||||
# for v in ${ALL_DOCKER_VERSIONS}; do \
|
for v in ${ALL_DOCKER_VERSIONS}; do \
|
||||||
# curl https://get.docker.com/builds/Linux/x86_64/docker-$v -o /usr/local/bin/docker-$v; \
|
curl https://get.docker.com/builds/Linux/x86_64/docker-$v -o /usr/local/bin/docker-$v; \
|
||||||
# chmod +x /usr/local/bin/docker-$v; \
|
chmod +x /usr/local/bin/docker-$v; \
|
||||||
# done
|
done
|
||||||
|
|
||||||
# Temporarily use dev version of Docker
|
|
||||||
ENV ALL_DOCKER_VERSIONS dev
|
|
||||||
RUN curl https://master.dockerproject.com/linux/amd64/docker-1.5.0-dev > /usr/local/bin/docker-dev
|
|
||||||
RUN chmod +x /usr/local/bin/docker-dev
|
|
||||||
|
|
||||||
RUN useradd -d /home/user -m -s /bin/bash user
|
RUN useradd -d /home/user -m -s /bin/bash user
|
||||||
WORKDIR /code/
|
WORKDIR /code/
|
||||||
|
|
|
@ -32,4 +32,4 @@ def docker_client():
|
||||||
)
|
)
|
||||||
|
|
||||||
timeout = int(os.environ.get('DOCKER_CLIENT_TIMEOUT', 60))
|
timeout = int(os.environ.get('DOCKER_CLIENT_TIMEOUT', 60))
|
||||||
return Client(base_url=base_url, tls=tls_config, version='1.18', timeout=timeout)
|
return Client(base_url=base_url, tls=tls_config, version='1.15', timeout=timeout)
|
||||||
|
|
|
@ -17,7 +17,6 @@ DOCKER_CONFIG_KEYS = [
|
||||||
'environment',
|
'environment',
|
||||||
'hostname',
|
'hostname',
|
||||||
'image',
|
'image',
|
||||||
'labels',
|
|
||||||
'links',
|
'links',
|
||||||
'mem_limit',
|
'mem_limit',
|
||||||
'net',
|
'net',
|
||||||
|
@ -172,9 +171,6 @@ def process_container_options(service_dict, working_dir=None):
|
||||||
if 'volumes' in service_dict:
|
if 'volumes' in service_dict:
|
||||||
service_dict['volumes'] = resolve_host_paths(service_dict['volumes'], working_dir=working_dir)
|
service_dict['volumes'] = resolve_host_paths(service_dict['volumes'], working_dir=working_dir)
|
||||||
|
|
||||||
if 'labels' in service_dict:
|
|
||||||
service_dict['labels'] = parse_labels(service_dict['labels'])
|
|
||||||
|
|
||||||
return service_dict
|
return service_dict
|
||||||
|
|
||||||
|
|
||||||
|
@ -336,29 +332,6 @@ def volumes_from_dict(d):
|
||||||
return ["%s:%s" % (host_path, container_path) for (container_path, host_path) in d.items()]
|
return ["%s:%s" % (host_path, container_path) for (container_path, host_path) in d.items()]
|
||||||
|
|
||||||
|
|
||||||
def parse_labels(labels):
|
|
||||||
if not labels:
|
|
||||||
return {}
|
|
||||||
|
|
||||||
if isinstance(labels, list):
|
|
||||||
return dict(split_label(e) for e in labels)
|
|
||||||
|
|
||||||
if isinstance(labels, dict):
|
|
||||||
return labels
|
|
||||||
|
|
||||||
raise ConfigurationError(
|
|
||||||
"labels \"%s\" must be a list or mapping" %
|
|
||||||
labels
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def split_label(label):
|
|
||||||
if '=' in label:
|
|
||||||
return label.split('=', 1)
|
|
||||||
else:
|
|
||||||
return label, ''
|
|
||||||
|
|
||||||
|
|
||||||
def expand_path(working_dir, path):
|
def expand_path(working_dir, path):
|
||||||
return os.path.abspath(os.path.join(working_dir, path))
|
return os.path.abspath(os.path.join(working_dir, path))
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ Compose with a `curl` command.
|
||||||
|
|
||||||
### Install Docker
|
### Install Docker
|
||||||
|
|
||||||
First, install Docker version 1.6 or greater:
|
First, install Docker version 1.3 or greater:
|
||||||
|
|
||||||
- [Instructions for Mac OS X](http://docs.docker.com/installation/mac/)
|
- [Instructions for Mac OS X](http://docs.docker.com/installation/mac/)
|
||||||
- [Instructions for Ubuntu](http://docs.docker.com/installation/ubuntulinux/)
|
- [Instructions for Ubuntu](http://docs.docker.com/installation/ubuntulinux/)
|
||||||
|
|
18
docs/yml.md
18
docs/yml.md
|
@ -253,24 +253,6 @@ db:
|
||||||
> configuration options are **not** inherited - you will have to define
|
> configuration options are **not** inherited - you will have to define
|
||||||
> those manually each time you extend it.
|
> those manually each time you extend it.
|
||||||
|
|
||||||
### labels
|
|
||||||
|
|
||||||
Add metadata to containers using [Docker labels](http://docs.docker.com/userguide/labels-custom-metadata/). You can use either an array or a dictionary.
|
|
||||||
|
|
||||||
It's recommended that you use reverse-DNS notation to prevent your labels from conflicting with those used by other software.
|
|
||||||
|
|
||||||
```
|
|
||||||
labels:
|
|
||||||
com.example.description: "Accounting webapp"
|
|
||||||
com.example.department: "Finance"
|
|
||||||
com.example.label-with-empty-value: ""
|
|
||||||
|
|
||||||
labels:
|
|
||||||
- "com.example.description=Accounting webapp"
|
|
||||||
- "com.example.department=Finance"
|
|
||||||
- "com.example.label-with-empty-value"
|
|
||||||
```
|
|
||||||
|
|
||||||
### net
|
### net
|
||||||
|
|
||||||
Networking mode. Use the same values as the docker client `--net` parameter.
|
Networking mode. Use the same values as the docker client `--net` parameter.
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
PyYAML==3.10
|
PyYAML==3.10
|
||||||
-e git+https://github.com/docker/docker-py.git@70ce156e26d283d181e6ec10bd1309ddc1da1bbd#egg=docker-py
|
docker-py==1.0.0
|
||||||
dockerpty==0.3.2
|
dockerpty==0.3.2
|
||||||
docopt==0.6.1
|
docopt==0.6.1
|
||||||
requests==2.5.3
|
requests==2.2.1
|
||||||
six==1.7.3
|
six==1.7.3
|
||||||
texttable==0.8.2
|
texttable==0.8.2
|
||||||
websocket-client==0.11.0
|
websocket-client==0.11.0
|
||||||
|
|
|
@ -11,14 +11,14 @@ script/validate-dco
|
||||||
flake8 compose
|
flake8 compose
|
||||||
|
|
||||||
if [ "$DOCKER_VERSIONS" == "" ]; then
|
if [ "$DOCKER_VERSIONS" == "" ]; then
|
||||||
DOCKER_VERSIONS="dev"
|
DOCKER_VERSIONS="1.5.0"
|
||||||
elif [ "$DOCKER_VERSIONS" == "all" ]; then
|
elif [ "$DOCKER_VERSIONS" == "all" ]; then
|
||||||
DOCKER_VERSIONS="$ALL_DOCKER_VERSIONS"
|
DOCKER_VERSIONS="$ALL_DOCKER_VERSIONS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for version in $DOCKER_VERSIONS; do
|
for version in $DOCKER_VERSIONS; do
|
||||||
>&2 echo "Running tests against Docker $version"
|
>&2 echo "Running tests against Docker $version"
|
||||||
docker-$version run \
|
docker-1.5.0 run \
|
||||||
--rm \
|
--rm \
|
||||||
--privileged \
|
--privileged \
|
||||||
--volume="/var/lib/docker" \
|
--volume="/var/lib/docker" \
|
||||||
|
|
4
setup.py
4
setup.py
|
@ -27,10 +27,10 @@ def find_version(*file_paths):
|
||||||
install_requires = [
|
install_requires = [
|
||||||
'docopt >= 0.6.1, < 0.7',
|
'docopt >= 0.6.1, < 0.7',
|
||||||
'PyYAML >= 3.10, < 4',
|
'PyYAML >= 3.10, < 4',
|
||||||
'requests >= 2.5.0, < 2.6',
|
'requests >= 2.2.1, < 2.6',
|
||||||
'texttable >= 0.8.1, < 0.9',
|
'texttable >= 0.8.1, < 0.9',
|
||||||
'websocket-client >= 0.11.0, < 1.0',
|
'websocket-client >= 0.11.0, < 1.0',
|
||||||
'docker-py >= 1.1.0, < 1.2',
|
'docker-py >= 1.0.0, < 1.2',
|
||||||
'dockerpty >= 0.3.2, < 0.4',
|
'dockerpty >= 0.3.2, < 0.4',
|
||||||
'six >= 1.3.0, < 2',
|
'six >= 1.3.0, < 2',
|
||||||
]
|
]
|
||||||
|
|
|
@ -491,30 +491,3 @@ class ServiceTest(DockerClientTestCase):
|
||||||
env = create_and_start_container(service).environment
|
env = create_and_start_container(service).environment
|
||||||
for k,v in {'FILE_DEF': 'F1', 'FILE_DEF_EMPTY': '', 'ENV_DEF': 'E3', 'NO_DEF': ''}.items():
|
for k,v in {'FILE_DEF': 'F1', 'FILE_DEF_EMPTY': '', 'ENV_DEF': 'E3', 'NO_DEF': ''}.items():
|
||||||
self.assertEqual(env[k], v)
|
self.assertEqual(env[k], v)
|
||||||
|
|
||||||
def test_labels(self):
|
|
||||||
labels_dict = {
|
|
||||||
'com.example.description': "Accounting webapp",
|
|
||||||
'com.example.department': "Finance",
|
|
||||||
'com.example.label-with-empty-value': "",
|
|
||||||
}
|
|
||||||
|
|
||||||
service = self.create_service('web', labels=labels_dict)
|
|
||||||
labels = create_and_start_container(service).get('Config.Labels').items()
|
|
||||||
for pair in labels_dict.items():
|
|
||||||
self.assertIn(pair, labels)
|
|
||||||
|
|
||||||
labels_list = ["%s=%s" % pair for pair in labels_dict.items()]
|
|
||||||
|
|
||||||
service = self.create_service('web', labels=labels_list)
|
|
||||||
labels = create_and_start_container(service).get('Config.Labels').items()
|
|
||||||
for pair in labels_dict.items():
|
|
||||||
self.assertIn(pair, labels)
|
|
||||||
|
|
||||||
def test_empty_labels(self):
|
|
||||||
labels_list = ['foo', 'bar']
|
|
||||||
|
|
||||||
service = self.create_service('web', labels=labels_list)
|
|
||||||
labels = create_and_start_container(service).get('Config.Labels').items()
|
|
||||||
for name in labels_list:
|
|
||||||
self.assertIn((name, ''), labels)
|
|
||||||
|
|
Loading…
Reference in New Issue