Skip to content

Commit

Permalink
Add link alias without project name
Browse files Browse the repository at this point in the history
REDIS_1_PORT_6379_TCP_ADDR instead of
FIGTEST_REDIS_1_PORT_6379_TCP_ADDR.

Ref docker#37

Signed-off-by: Yuval Kohavi <[email protected]>
  • Loading branch information
bfirsh committed Jan 27, 2014
1 parent e0cb0f4 commit fb57d15
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 10 deletions.
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ from redis import Redis
import os
app = Flask(__name__)
redis = Redis(
host=os.environ.get('FIGTEST_REDIS_1_PORT_6379_TCP_ADDR'),
port=int(os.environ.get('FIGTEST_REDIS_1_PORT_6379_TCP_PORT'))
host=os.environ.get('REDIS_1_PORT_6379_TCP_ADDR'),
port=int(os.environ.get('REDIS_1_PORT_6379_TCP_PORT'))
)
@app.route('/')
Expand Down Expand Up @@ -266,22 +266,22 @@ If there are existing containers for a service, `fig up` will stop and recreate
Fig uses [Docker links] to expose services' containers to one another. Each linked container injects a set of environment variables, each of which begins with the uppercase name of the container.

<b><i>name</i>\_PORT</b><br>
Full URL, e.g. `MYAPP_DB_1_PORT=tcp://172.17.0.5:5432`
Full URL, e.g. `DB_1_PORT=tcp://172.17.0.5:5432`

<b><i>name</i>\_PORT\_<i>num</i>\_<i>protocol</i></b><br>
Full URL, e.g. `MYAPP_DB_1_PORT_5432_TCP=tcp://172.17.0.5:5432`
Full URL, e.g. `DB_1_PORT_5432_TCP=tcp://172.17.0.5:5432`

<b><i>name</i>\_PORT\_<i>num</i>\_<i>protocol</i>\_ADDR</b><br>
Container's IP address, e.g. `MYAPP_DB_1_PORT_5432_TCP_ADDR=172.17.0.5`
Container's IP address, e.g. `DB_1_PORT_5432_TCP_ADDR=172.17.0.5`

<b><i>name</i>\_PORT\_<i>num</i>\_<i>protocol</i>\_PORT</b><br>
Exposed port number, e.g. `MYAPP_DB_1_PORT_5432_TCP_PORT=5432`
Exposed port number, e.g. `DB_1_PORT_5432_TCP_PORT=5432`

<b><i>name</i>\_PORT\_<i>num</i>\_<i>protocol</i>\_PROTO</b><br>
Protocol (tcp or udp), e.g. `MYAPP_DB_1_PORT_5432_TCP_PROTO=tcp`
Protocol (tcp or udp), e.g. `DB_1_PORT_5432_TCP_PROTO=tcp`

<b><i>name</i>\_NAME</b><br>
Fully qualified container name, e.g. `MYAPP_DB_1_NAME=/myapp_web_1/myapp_db_1`
Fully qualified container name, e.g. `DB_1_NAME=/myapp_web_1/myapp_db_1`


[Docker links]: http://docs.docker.io/en/latest/use/port_redirection/#linking-a-container
Expand Down
4 changes: 4 additions & 0 deletions fig/container.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ def short_id(self):
def name(self):
return self.dictionary['Name'][1:]

@property
def name_without_project(self):
return '_'.join(self.dictionary['Name'].split('_')[1:])

@property
def number(self):
try:
Expand Down
5 changes: 3 additions & 2 deletions fig/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,11 @@ def next_container_number(self, one_off=False):
return max(numbers) + 1

def _get_links(self):
links = {}
links = []
for service in self.links:
for container in service.containers():
links[container.name] = container.name
links.append((container.name, container.name))
links.append((container.name, container.name_without_project))
return links

def _get_container_options(self, override_options, one_off=False):
Expand Down
1 change: 1 addition & 0 deletions tests/service_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ def test_start_container_creates_links(self):
db.start_container()
web.start_container()
self.assertIn('figtest_db_1', web.containers()[0].links())
self.assertIn('db_1', web.containers()[0].links())
db.stop(timeout=1)
web.stop(timeout=1)

Expand Down

0 comments on commit fb57d15

Please sign in to comment.