我正在构建一个基于// LeftSidebar
import React, { Component } from 'react';
import Drawer from 'material-ui/Drawer';
import MenuItem from 'material-ui/MenuItem';
import IconButton from 'material-ui/IconButton';
import NavigationClose from 'material-ui/svg-icons/navigation/close';
class LeftNavBar extends Component {
/** unsure if necessary here **/
constructor(props, state) {
super(props, state)
this.state = {
leftBarOpen : this.props.leftBarOpen
}
}
/** closing functionality works **/
close = () => {
this.setState({leftBarOpen: false});
}
render() {
return (
<Drawer open={this.state.leftBarOpen}>
<IconButton onClick={this.close}>
<NavigationClose />
</IconButton>
<MenuItem>Menu Item</MenuItem>
<MenuItem>Menu Item 2</MenuItem>
</Drawer>
);
}
}
export default LeftSidebar;
的Docker镜像。它构建正确,没有任何错误,但是当我去使用它时,它没有我在Dockerfile中声明的导入模块(这是来自图像中克隆的GitHub repo的psd1文件。
我尝试了一下简单导入微软的PowerShell管理(如下所示),它也没有导入。我以交互方式运行图像并逐个输出命令,导入的所有内容都很好,所以我不知道为什么它不能通过Dockerfile构建本身工作。
microsoft/powershell:ubuntu16.04
示例psd1文件
FROM microsoft/powershell:ubuntu16.04
WORKDIR /workdir
RUN pwsh -command "Import-Module Microsoft.PowerShell.Management"
CMD [ "pwsh", "-Command", "Get-Module" ]
答案 0 :(得分:1)
因为它发生在错误的“上下文”中。为了使其按照您希望的方式工作,您需要在1 PowerShell会话中使用这两个命令:
pwsh -command "Import-Module Microsoft.PowerShell.Management; Get-Module"
否则它会创建一个运行该命令的层,但是当powershell停止时,所有导入都会消失(当层完成时,它会关闭容器,因此它不会保留会话状态,只有os状态)。 / p>
我的dockerfile(工作示例):
FROM microsoft/powershell:ubuntu16.04
RUN pwsh -c "Install-Module AzureRM.netcore -Force"
CMD [ "pwsh" ]