本文整理汇总了Python中charms.docker.compose.Compose类的典型用法代码示例。如果您正苦于以下问题:Python Compose类的具体用法?Python Compose怎么用?Python Compose使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Compose类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: stop_scope
def stop_scope():
compose = Compose('files/scope')
compose.kill()
compose.rm()
hookenv.close_port(4040)
reactive.remove_state('scope.started')
hookenv.status_set('maintenance', 'Weave stopped.')
示例2: run_rancherserver
def run_rancherserver():
# Render teh template
cfg = config()
render('docker-compose.yml', 'files/rancherserver/docker-compose.yml', cfg)
comp = Compose('files/rancherserver')
comp.up()
示例3: start_cadvisor
def start_cadvisor():
'''Start the cAdvisor container that gives metrics about the other
application containers on this system. '''
compose = Compose('files/kubernetes')
compose.up('cadvisor')
set_state('cadvisor.available')
status_set('active', 'cadvisor running on port 8088')
hookenv.open_port(8088)
示例4: start_drone
def start_drone():
cfg = config()
if not cfg.get('github_secret') or not cfg.get('github_client'):
status_set('blocked', 'Requires DVCS credentials - see charm config')
return
render('docker-compose.yml', 'files/drone/docker-compose.yml', {})
render('drone.env', 'files/drone/drone.env', cfg)
compose = Compose('files/drone')
compose.up()
hookenv.open_port(80)
status_set('active', 'Drone running.')
示例5: run_ems
def run_ems():
# authenticate to private docker repository
d = Docker()
cfg = config()
d.login(cfg['distribution-user'], cfg['distribution-pass'],
cfg['distribution-email'])
# Render the template
render('docker-compose.yml', 'files/ems/docker-compose.yml', cfg)
comp = Compose('files/ems')
comp.up()
示例6: start_rabbitmq
def start_rabbitmq():
''' Starts a RabbitMQ application'''
# Render the formation
cfg = config()
render('docker-compose.yml', 'files/rabbitmq/docker-compose.yml', cfg)
# Initialize the docker compose object, looking @ our work directory
compose = Compose('files/rabbitmq')
# Launch the service(s)
status_set('maintenance', "Fetching / Starting the rabbitmq containers")
compose.up()
status_set('active', 'Redmine is running on port 5672, 15672 and 1883')
示例7: start_redmine
def start_redmine():
''' Starts a Redmine application in standalone configuration'''
# Render the formation
cfg = config()
render('docker-compose.yml', 'files/redmine/docker-compose.yml', cfg)
# Initialize the docker compose object, looking @ our work directory
compose = Compose('files/redmine')
# Launch the service(s)
status_set('maintenance', "Fetching / Starting the redmine containers")
compose.up()
status_set('active', 'Redmine is running on port 10030')
示例8: master
def master(etcd):
'''Install and run the hyperkube container that starts kubernetes-master.
This actually runs the kubelet, which in turn runs a pod that contains the
other master components. '''
render_files(etcd)
# Use the Compose class that encapsulates the docker-compose commands.
compose = Compose('files/kubernetes')
status_set('maintenance', 'Starting the Kubernetes kubelet container.')
# Start the Kubernetes kubelet container using docker-compose.
compose.up('kubelet')
set_state('kubelet.available')
# Open the secure port for api-server.
hookenv.open_port(6443)
status_set('maintenance', 'Starting the Kubernetes proxy container')
# Start the Kubernetes proxy container using docker-compose.
compose.up('proxy')
set_state('proxy.available')
status_set('active', 'Kubernetes started')
示例9: config_changed
def config_changed():
'''If the configuration values change, remove the available states.'''
config = hookenv.config()
if any(config.changed(key) for key in config.keys()):
hookenv.log('Configuration options have changed.')
# Use the Compose class that encapsulates the docker-compose commands.
compose = Compose('files/kubernetes')
hookenv.log('Removing kubelet container and kubelet.available state.')
# Stop and remove the Kubernetes kubelet container..
compose.kill('kubelet')
compose.rm('kubelet')
# Remove the state so the code can react to restarting kubelet.
remove_state('kubelet.available')
hookenv.log('Removing proxy container and proxy.available state.')
# Stop and remove the Kubernetes proxy container.
compose.kill('proxy')
compose.rm('proxy')
# Remove the state so the code can react to restarting proxy.
remove_state('proxy.available')
if config.changed('version'):
hookenv.log('Removing kubectl.downloaded state so the new version'
' of kubectl will be downloaded.')
remove_state('kubectl.downloaded')
示例10: start_kubelet
def start_kubelet(etcd):
'''Run the hyperkube container that starts the kubernetes services.
When the leader, run the master services (apiserver, controller, scheduler,
proxy)
using the master.json from the rendered manifest directory.
When a follower, start the node services (kubelet, and proxy). '''
render_files(etcd)
# Use the Compose class that encapsulates the docker-compose commands.
compose = Compose('files/kubernetes')
status_set('maintenance', 'Starting the Kubernetes services.')
if is_leader():
compose.up('master')
compose.up('proxy')
set_state('kubelet.available')
# Open the secure port for api-server.
hookenv.open_port(6443)
else:
# Start the Kubernetes kubelet container using docker-compose.
compose.up('kubelet')
set_state('kubelet.available')
# Start the Kubernetes proxy container using docker-compose.
compose.up('proxy')
set_state('proxy.available')
status_set('active', 'Kubernetes services started')
示例11: start_logspout
def start_logspout():
compose = Compose('files/logspout')
compose.up()
remove_state('logspout.ready')
status_set('active', 'Logspout running')
示例12: run_scope
def run_scope():
compose = Compose('files/scope')
compose.up()
hookenv.open_port(4040)
hookenv.status_set('active', 'Weave Started. Visit me on port 4040')
reactive.set_state('scope.started')