コード例 #1
0
 def _run_container(self, container_name, cmd, run_mod='d', ports=[]):
     envs = []
     volumes = {
             self.app_config_dir + '/local.acl': '/etc/local.acl'
             }
     args = dockerutil.base_docker_args(container_name=container_name, envs=envs, ports=ports, volumes=volumes)
     cmd_data = {}
     cmd_data['image'] = self.ss_image
     cmd_data['args'] = args
     cmd_data['cmd'] = cmd
     cmd_data['run_mod'] = run_mod
     cmd = template.render_str('docker run {{ run_mod }} -u root --restart always {{ args }} {{ image }} sh -c "{{ cmd }}"', cmd_data)
     self.shell_run(cmd)
コード例 #2
0
 def _run_container(self, container_name, cmd, mod):
     volumes = {self.root_dir: '/opt'}
     args = dockerutil.base_docker_args(container_name=container_name,
                                        volumes=volumes,
                                        working_dir='/opt')
     cmd_data = {}
     cmd_data['image'] = image_name
     cmd_data['args'] = args
     cmd_data['cmd'] = cmd
     cmd_data['run_mod'] = mod
     cmd = template.render_str(
         'docker run {{ run_mod }} --net=host --restart always {{ args }} {{ image }} bash -c "{{ cmd }}"',
         cmd_data)
     self.shell_run(cmd)
コード例 #3
0
    def run(self, key_file, args):
        key_file = os.path.expanduser(key_file)
        key_file = os.path.abspath(key_file)
        working_dir = '/opt/app'
        volumes = {
            key_file: key_file,
        }
        container_name = 'fs'
        cmd = '%s/hs-airdrop/bin/hs-airdrop %s %s' % (working_dir, key_file, args)
        docker_args = dockerutil.base_docker_args(container_name=container_name, volumes=volumes,
                                           auto_hostname=False)
        docker_args += ' -w %s' % (working_dir)

        self.stop_container(container_name)
        image = 'docker-genesis.0xhash.cn/' + image_name
        cmd = 'docker run -it %s --rm %s %s' % (docker_args, image, cmd)
        self.shell_run(cmd)
コード例 #4
0
    def _run_fe_container(self, cmd):
        self.remove_container(fe_container, force=True)
        working_dir = '/opt/app/_fe'
        volumes = {
            self.root_dir: '/opt/app',
        }
        args = dockerutil.base_docker_args(container_name=fe_container,
                                           volumes=volumes,
                                           working_dir=working_dir)

        cmd_data = {
            'image': app_fe_image,
            'args': args,
            'cmd': cmd,
            'mod': dockerutil.fg_mode()
        }
        cmd = template.render_str(
            'docker run {{ mod }} --rm {{ args }} {{ image }} {{ cmd }}',
            cmd_data)
        self.shell_run(cmd)
コード例 #5
0
    def _run_blog_container(self, cmd):
        self.remove_container(blog_container, force=True)
        working_dir = '/opt/app'
        self.site_dir = '/opt/data/g-nginx/persistent/sites/liaohuqiu'
        file.ensure_dir(self.site_dir)
        volumes = {
            self.root_dir: working_dir,
            self.site_dir: '/opt/app/_site',
        }
        args = dockerutil.base_docker_args(container_name=blog_container,
                                           volumes=volumes,
                                           working_dir=working_dir)

        cmd_data = {
            'image': blog_image,
            'args': args,
            'cmd': cmd,
            'mod': dockerutil.fg_mode()
        }
        cmd = template.render_str(
            'docker run {{ mod }} --rm {{ args }} {{ image }} {{ cmd }}',
            cmd_data)
        self.shell_run(cmd)
コード例 #6
0
ファイル: manager.py プロジェクト: Kiuber/antd-landing
    def _start(self, script, env):
        self._link_node_modules(self.landing_app_dir + '/node_modules')

        volumes = {
            self.landing_app_dir: '/opt/src',
        }

        args = dockerutil.base_docker_args(
            container_name=container_config[env]['container_name'],
            volumes=volumes,
            ports=container_config[env]['ports'])

        cmd_args = 'npm run %s --prefix /opt/src' % script
        # cmd_args = 'bash'
        cmd_data = {
            'image': image,
            'args': args,
            'cmd_args': cmd_args,
            'mode': container_config[env]['mode']
        }
        cmd = template.render_str(
            'docker run {{ mode }} --privileged=true --restart always {{ args }} {{ image }} {{ cmd_args }}',
            cmd_data)
        self.shell_run(cmd)