You can simply set a width in your columnDefs.
var templateImage = '<div class="ngCellText" ng-class="col.colIndex()"><img src="images/{{row.getProperty(\'faseXD[0].fase\')}}.png"></div>';
var templateText = '<div class="ngCellText" ng-class="col.colIndex()"><p id="gridField" ng-cell-text>{{row.getProperty(col.field)}}</p></div>';
$scope.gridOptions = {
data: 'myData',
headerCellTemplate: '<div class="ngHeaderSortColumn {{col.headerClass}}" ng-style="{\'cursor\': col.cursor}" ng-class="{ \'ngSorted\': !noSortVisible }"><div ng-click="col.sort($event)" ng-class="\'colt\' + col.index" class="ngHeaderText">{{col.displayName}}</div><div class="ngSortButtonDown" ng-show="col.showSortButtonDown()"></div><div class="ngSortButtonUp" ng-show="col.showSortButtonUp()"></div><div class="ngSortPriority">{{col.sortPriority}}</div><div ng-class="{ ngPinnedIcon: col.pinned, ngUnPinnedIcon: !col.pinned }" ng-click="togglePin(col)" ng-show="col.pinnable"></div></div><div ng-show="col.resizable" class="ngHeaderGrip" ng-click="col.gripClick($event)" ng-mousedown="col.gripOnMouseDown($event)"></div>',
columnDefs: [{
field: 'name',
width: '50px',
displayName: 'product',
cellTemplate: templateImage
}, {
field: 'age',
visible: true
}]
};