向Juypterhub DockerSpawner添加其他主机

时间:2019-02-13 15:40:07

标签: docker jupyterhub

我正在将Jupyterhub 0.9.4与DockerSpawner一起使用。 我的目标是为Spawner产生的每个容器传递一个额外的主机名,因此在/etc/hosts中添加一个条目。

我首先通过docker-compose.yml文件尝试了该文件,该文件不起作用,因为该容器是由Jupyterhub创建的。

我也在Dockerfile本身中尝试过,但是它被覆盖了。

我通过添加以下内容进一步尝试了jupyterhub_config.py文件中的更改: c.DockerSpawner.extra_create_kwargs.update({'command': '--add-host="<ip-address> <hostname>"'})

在容器的/etc/hosts文件中仍然看不到任何条目。

有人知道我必须在哪里添加它吗?

谢谢, 最高

1 个答案:

答案 0 :(得分:1)

您可以执行state = {credentials: false} handleSubmit = event => { event.preventDefault(); this.setState({ credentials: true // display Credentials component }); }; render() { return ( <div> <button onClick={this.handleSubmit}>Submit</button> {this.state.credentials && ( <Credentials value={JSON.stringify(this.state)} /> )} </div> ); } 的等效操作,如下所示:

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.0/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.0/umd/react-dom.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.21.1/babel.min.js"></script>
<div id="root"></div>

<script type="text/babel">

const Credentials = ({ value }) => {
  return <p>{value}</p>;
};

class App extends React.Component {
  state = { credentials: false };

  handleSubmit = event => {
    event.preventDefault();

    this.setState({
      credentials: true // display Credentials  component
    });
  };

  change = e => {
    const name = e.target.name;

    const nameObj = {};
    nameObj[name] = e.target.value;

    this.setState({ ...nameObj });
  };

  render() {
    return (
      <div>
        <input
          type="text"
          name="col1"
          value={this.state['col1']}
          onChange={e => this.change(e)}
        />
        <button onClick={this.handleSubmit}>Submit</button>
        {this.state.credentials && (
          <Credentials value={JSON.stringify(this.state)} />
        )}
      </div>
    );
  }
}



ReactDOM.render(
    <App />,
    document.getElementById('root')
);
</script>

我在任何文档中都找不到。