mirror of https://github.com/docker/docs.git
Merge branch 'windows' of github.com:kitematic/kitematic into windows
Conflicts: package.json src/components/ContainerSettingsVolumes.react.js src/stores/SetupStore.js
This commit is contained in:
commit
407fd508d9
|
@ -11,13 +11,12 @@
|
||||||
},
|
},
|
||||||
"bugs": "https://github.com/kitematic/kitematic/issues",
|
"bugs": "https://github.com/kitematic/kitematic/issues",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "gulp",
|
"start": "grunt",
|
||||||
"test": "jest -c jest-unit.json",
|
"test": "jest -c jest-unit.json",
|
||||||
"integration": "jest -c jest-integration.json",
|
"integration": "jest -c jest-integration.json",
|
||||||
"release": "grunt release",
|
"release": "grunt release",
|
||||||
"release:beta": "grunt release --beta=true",
|
"release:beta": "grunt release --beta=true",
|
||||||
"lint": "jsxhint src",
|
"lint": "jsxhint src"
|
||||||
"reset": "gulp reset"
|
|
||||||
},
|
},
|
||||||
"licenses": [
|
"licenses": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
var $ = require('jquery');
|
||||||
var _ = require('underscore');
|
var _ = require('underscore');
|
||||||
var React = require('react');
|
var React = require('react');
|
||||||
var exec = require('exec');
|
var exec = require('exec');
|
||||||
|
@ -6,8 +7,10 @@ var metrics = require('../utils/MetricsUtil');
|
||||||
var ContainerUtil = require('../utils/ContainerUtil');
|
var ContainerUtil = require('../utils/ContainerUtil');
|
||||||
var util = require('../utils/Util');
|
var util = require('../utils/Util');
|
||||||
var machine = require('../utils/DockerMachineUtil');
|
var machine = require('../utils/DockerMachineUtil');
|
||||||
|
var RetinaImage = require('react-retina-image');
|
||||||
var classNames = require('classnames');
|
var classNames = require('classnames');
|
||||||
var resources = require('../utils/ResourcesUtil');
|
var resources = require('../utils/ResourcesUtil');
|
||||||
|
var dockerUtil = require('../utils/DockerUtil');
|
||||||
var containerActions = require('../actions/ContainerActions');
|
var containerActions = require('../actions/ContainerActions');
|
||||||
var dockerMachineUtil = require('../utils/DockerMachineUtil');
|
var dockerMachineUtil = require('../utils/DockerMachineUtil');
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,7 @@ var ContainerHomePreview = React.createClass({
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{frame}
|
{frame}
|
||||||
|
<div className="frame-overlay"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -6,6 +6,7 @@ var containerStore = require('../stores/ContainerStore');
|
||||||
var ContainerList = require('./ContainerList.react');
|
var ContainerList = require('./ContainerList.react');
|
||||||
var Header = require('./Header.react');
|
var Header = require('./Header.react');
|
||||||
var metrics = require('../utils/MetricsUtil');
|
var metrics = require('../utils/MetricsUtil');
|
||||||
|
var RetinaImage = require('react-retina-image');
|
||||||
var shell = require('shell');
|
var shell = require('shell');
|
||||||
var machine = require('../utils/DockerMachineUtil');
|
var machine = require('../utils/DockerMachineUtil');
|
||||||
|
|
||||||
|
|
|
@ -139,7 +139,12 @@ var Header = React.createClass({
|
||||||
username = (
|
username = (
|
||||||
<div className="login-wrapper">
|
<div className="login-wrapper">
|
||||||
<div className="login no-drag" onClick={this.handleUserClick}>
|
<div className="login no-drag" onClick={this.handleUserClick}>
|
||||||
<span className="icon icon-user"></span> {this.state.username} {this.state.verified ? null : '(Unverified)'} <RetinaImage src="userdropdown.png"/>
|
<span className="icon icon-user"></span>
|
||||||
|
<span className="text">
|
||||||
|
{this.state.username}
|
||||||
|
{this.state.verified ? null : '(Unverified)'}
|
||||||
|
</span>
|
||||||
|
<RetinaImage src="userdropdown.png"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -126,7 +126,7 @@ module.exports = React.createClass({
|
||||||
<div className="no-results">
|
<div className="no-results">
|
||||||
<h2>Please verify your Docker Hub account email address</h2>
|
<h2>Please verify your Docker Hub account email address</h2>
|
||||||
<div className="verify">
|
<div className="verify">
|
||||||
<button className="btn btn-primary btn-lg" onClick={this.handleCheckVerification}>{'I\'ve Verified My Email Address'}</button> {spinner}
|
<button className="btn btn-primary" onClick={this.handleCheckVerification}>{'I\'ve Verified My Email Address'}</button> {spinner}
|
||||||
</div>
|
</div>
|
||||||
<RetinaImage src="inspection.png" checkIfRetinaImgExists={false}/>
|
<RetinaImage src="inspection.png" checkIfRetinaImgExists={false}/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -3,6 +3,7 @@ import deepExtend from 'deep-extend';
|
||||||
import alt from '../alt';
|
import alt from '../alt';
|
||||||
import containerServerActions from '../actions/ContainerServerActions';
|
import containerServerActions from '../actions/ContainerServerActions';
|
||||||
import containerActions from '../actions/ContainerActions';
|
import containerActions from '../actions/ContainerActions';
|
||||||
|
var LogStore = require('./LogStore');
|
||||||
|
|
||||||
class ContainerStore {
|
class ContainerStore {
|
||||||
constructor () {
|
constructor () {
|
||||||
|
@ -87,6 +88,8 @@ class ContainerStore {
|
||||||
if (!containers[container.Name] || containers[container.Name].State.Updating) {
|
if (!containers[container.Name] || containers[container.Name].State.Updating) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Trigger log update
|
||||||
|
LogStore.fetch(container.Name);
|
||||||
|
|
||||||
containers[container.Name] = container;
|
containers[container.Name] = container;
|
||||||
|
|
||||||
|
|
|
@ -149,7 +149,7 @@ var SetupStore = assign(Object.create(EventEmitter.prototype), {
|
||||||
var vboxNeedsInstall = !virtualBox.installed();
|
var vboxNeedsInstall = !virtualBox.installed();
|
||||||
|
|
||||||
required.download = vboxNeedsInstall && (!fs.existsSync(vboxfile) || setupUtil.checksum(vboxfile) !== virtualBox.checksum());
|
required.download = vboxNeedsInstall && (!fs.existsSync(vboxfile) || setupUtil.checksum(vboxfile) !== virtualBox.checksum());
|
||||||
required.install = vboxNeedsInstall || !virtualBox.active();
|
required.install = vboxNeedsInstall || (util.isWindows() && !virtualBox.active());
|
||||||
required.init = required.install || !(yield machine.exists()) || (yield machine.state()) !== 'Running' || !isoversion || util.compareVersions(isoversion, packagejson['docker-version']) < 0;
|
required.init = required.install || !(yield machine.exists()) || (yield machine.state()) !== 'Running' || !isoversion || util.compareVersions(isoversion, packagejson['docker-version']) < 0;
|
||||||
|
|
||||||
var exists = yield machine.exists();
|
var exists = yield machine.exists();
|
||||||
|
|
|
@ -5,6 +5,7 @@ var util = require('../utils/Util');
|
||||||
var hubUtil = require('../utils/HubUtil');
|
var hubUtil = require('../utils/HubUtil');
|
||||||
var repositoryServerActions = require('../actions/RepositoryServerActions');
|
var repositoryServerActions = require('../actions/RepositoryServerActions');
|
||||||
var tagServerActions = require('../actions/TagServerActions');
|
var tagServerActions = require('../actions/TagServerActions');
|
||||||
|
var Promise = require('bluebird');
|
||||||
|
|
||||||
let REGHUB2_ENDPOINT = process.env.REGHUB2_ENDPOINT || 'https://registry.hub.docker.com/v2';
|
let REGHUB2_ENDPOINT = process.env.REGHUB2_ENDPOINT || 'https://registry.hub.docker.com/v2';
|
||||||
let searchReq = null;
|
let searchReq = null;
|
||||||
|
@ -61,7 +62,7 @@ module.exports = {
|
||||||
let data = JSON.parse(body);
|
let data = JSON.parse(body);
|
||||||
let repos = data.repos;
|
let repos = data.repos;
|
||||||
async.map(repos, (repo, cb) => {
|
async.map(repos, (repo, cb) => {
|
||||||
var name = repo.repo;
|
let name = repo.repo;
|
||||||
if (util.isOfficialRepo(name)) {
|
if (util.isOfficialRepo(name)) {
|
||||||
name = 'library/' + name;
|
name = 'library/' + name;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ module.exports = {
|
||||||
fn(args, options, (stderr, stdout, code) => {
|
fn(args, options, (stderr, stdout, code) => {
|
||||||
if (code) {
|
if (code) {
|
||||||
var cmd = Array.isArray(args) ? args.join(' ') : args;
|
var cmd = Array.isArray(args) ? args.join(' ') : args;
|
||||||
reject(new Error(cmd + ' returned non zero exit code.\n===== Stderr =====\n ' + stderr + '\n===== Stdout =====\n' + stdout));
|
reject(new Error(cmd + ' returned non zero exit code. Stderr: ' + stderr));
|
||||||
} else {
|
} else {
|
||||||
resolve(stdout);
|
resolve(stdout);
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,22 +82,6 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
transition: background-color 0.25s;
|
|
||||||
.icon {
|
|
||||||
margin-top: 40%;
|
|
||||||
display: block;
|
|
||||||
font-size: 60px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.text {
|
|
||||||
font-size: 20px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
&:hover {
|
|
||||||
color: white;
|
|
||||||
background-color: @gray-darkest;
|
|
||||||
opacity: 0.75;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,12 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
min-width: @sidebar-width + 1px;
|
min-width: @sidebar-width + 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.right-header {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
flex: 1 0;
|
||||||
|
}
|
||||||
|
|
||||||
.updates {
|
.updates {
|
||||||
flex: 1 auto;
|
flex: 1 auto;
|
||||||
|
@ -27,9 +33,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
position: absolute;
|
padding: 0.9rem 1rem 0 0;
|
||||||
right: 1rem;
|
|
||||||
top: 0.8rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-wrapper {
|
.login-wrapper {
|
||||||
|
@ -46,15 +50,18 @@
|
||||||
border-right: 1px solid @color-divider;
|
border-right: 1px solid @color-divider;
|
||||||
padding: 0 1rem 0 1rem;
|
padding: 0 1rem 0 1rem;
|
||||||
.box-button();
|
.box-button();
|
||||||
|
.text {
|
||||||
&:active {
|
max-width: 70px;
|
||||||
img, span {
|
overflow: hidden;
|
||||||
-webkit-filter: brightness(0.9);
|
text-overflow: ellipsis;
|
||||||
}
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
margin: 0 5px;
|
position: relative;
|
||||||
|
top: 0.1rem;
|
||||||
|
margin: 0 0rem 0 0.4rem;
|
||||||
|
width: 8px;
|
||||||
|
height: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.verify {
|
.verify {
|
||||||
margin: 15px 0;
|
margin: 0.5rem 0 3rem 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.spinner {
|
.spinner {
|
||||||
|
@ -405,6 +405,12 @@
|
||||||
color: white;
|
color: white;
|
||||||
border: 1px solid darken(@brand-primary, 10%);
|
border: 1px solid darken(@brand-primary, 10%);
|
||||||
}
|
}
|
||||||
|
&:active {
|
||||||
|
box-shadow: 0 0 15px fade(@brand-action, 25%);
|
||||||
|
background-color: darken(@brand-action, 5%);
|
||||||
|
border: 1px solid darken(@brand-primary, 10%);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -203,8 +203,8 @@ input[type="text"] {
|
||||||
}
|
}
|
||||||
|
|
||||||
&.small {
|
&.small {
|
||||||
font-size: 11px;
|
font-size: 10px;
|
||||||
padding: 3px 8px 3px 8px;
|
padding: 0.3rem 0.7rem;
|
||||||
height: 22px;
|
height: 22px;
|
||||||
.icon {
|
.icon {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
|
|
Loading…
Reference in New Issue