Macos Docker Install



  • Installing
  • macOS troubleshooting
  1. Mac Docker Install Location
  2. Docker Install Ubuntu
  3. Macos Install Docker Command Line

GitLab Runner can be installed and updated on macOS.

Installing

Sending build context to Docker daemon 109.6 kB Step 1: FROM ubuntu:14.04 - b549a9959a66 Step 2: RUN apt-get update -y - Using cache - 2c Step 3: RUN apt-get install -y git curl apache2 php5 libapache2-mod-php5 php5-mcrypt php5-mysql python3.4 python-pip - Running in 49252a6d0eb1 Reading package lists. Install with an installer. MacOS has standalone installers that can be used to install the.NET 5.0 SDK: x64 (64-bit) CPUs; Download and manually install. As an alternative to the macOS installers for.NET, you can download and manually install the SDK and runtime. Manual install is usually performed as part of continuous integration testing.

Macos docker install brew

There are two methods for installing GitLab Runner on macOS:

  • Manual installation. This method is officially supported and recommended by GitLab.
  • Homebrew installation. Install with Homebrew as an alternative to manual installation.

Manual installation (official)

For documentation on GitLab Runner 9 and earlier, visit this documentation.
  1. Download the binary for your system:

    You can download a binary for every available version as described inBleeding Edge - download any other tagged release.

  2. Give it permissions to execute:

The rest of the commands should execute as the user who will run the runners.

  1. When you build iOS or macOS applications on macOS, use the shell executor.The build and tests run as the identity of the logged-in user, directly on the build host.It does not run in a container. This is less secure than using container executors. For more information, see thesecurity implications documentationfor additional detail on what to keep in mind in this scenario.
  2. Install GitLab Runner as a service and start it:

GitLab Runner is installed and will be run after a system reboot.

Homebrew installation (alternative)

A Homebrew formula is available to install GitLab.

To install GitLab Runner using Homebrew:

  1. Install GitLab Runner.

  2. Install GitLab Runner as a service and start it.

GitLab Runner is installed and running.

Macos docker install centos

Limitations on macOS

The service needs to be installed from a Terminal window logged inas your current user. Only then will you be able to manage the service.

Currently, the only proven way for it to work in macOS is by running the service in user-mode.

Since the service will be running only when the user is logged in, you shouldenable auto-login on your macOS machine.

The service will be launched as a LaunchAgent. By using LaunchAgents,the builds will be able to perform UI interactions, making it possible to run andtest in the iOS simulator.

It’s worth noting that macOS also has LaunchDaemons, services runningcompletely in background. LaunchDaemons are run on system startup, but theydon’t have the same access to UI interactions as LaunchAgents. You can try torun the Runner’s service as a LaunchDaemon, but this mode of operation is notcurrently supported.

You can verify that GitLab Runner created the service configuration file afterexecuting the install command, by checking the~/Library/LaunchAgents/gitlab-runner.plist file.

If Homebrew was used to install git, it may have added a /usr/local/etc/gitconfig filecontaining:

This tells Git to cache user credentials in the keychain, which may not be what you wantand can cause fetches to hang. You can remove the line from the system gitconfigwith:

Alternatively, you can just disable credential.helper for the GitLab user:

You can check the status of the credential.helper with:

Manual update

  1. Stop the service:

  2. Download the binary to replace the GitLab Runner executable:

    You can download a binary for every available version as described inBleeding Edge - download any other tagged release.

  3. Give it permissions to execute:

  4. Start the service:

Make sure that you read the FAQ section which describessome of the most common problems with GitLab Runner.

Upgrade the service file

In order to upgrade the LaunchAgent configuration, you need to uninstall andinstall the service:

Using codesign with the GitLab Runner Service

If you installed gitlab-runner on macOS with homebrew and your build callscodesign, you may need to set <key>SessionCreate</key><true/> to haveaccess to the user keychains. In the following example we run the builds as the gitlabuser and want access to the signing certificates installed by that user for codesigning:

macOS troubleshooting

The following relate to troubleshooting on macOS.

'launchctl' failed: exit status 112, Could not find domain for

This message may occur when you try to install GitLab Runner on macOS. Make surethat you manage GitLab Runner service from the GUI Terminal application, notthe SSH connection.

Failed to authorize rights (0x1) with status: -60007.

If GitLab Runner is stuck on the above message when using macOS, there are twocauses to why this happens:

  1. Make sure that your user can perform UI interactions:

    The first command enables access to developer tools for your user.The second command allows the user who is member of the developer group todo UI interactions, e.g., run the iOS simulator.

  2. Make sure that your GitLab Runner service doesn’t use SessionCreate = true.Previously, when running GitLab Runner as a service, we were creatingLaunchAgents with SessionCreate. At that point (Mavericks), this wasthe only solution to make Code Signing work. That changed recently withOS X El Capitan which introduced a lot of new security features thataltered this behavior.Since GitLab Runner 1.1, when creating a LaunchAgent, we don’t setSessionCreate. However, in order to upgrade, you need to manuallyreinstall the LaunchAgent script:

    Then you can verify that ~/Library/LaunchAgents/gitlab-runner.plist hasSessionCreate set to false.

fatal: unable to access 'https://path:3000/user/repo.git/': Failed to connect to path port 3000: Operation timed out error in the job

If one of the jobs fails with this error, make sure the runner can connect to your GitLab instance. The connection could be blocked by things like:

  • firewalls
  • proxies
  • permissions
  • routing configurations

Help & feedback

Docs
Edit this pageto fix an error or add an improvement in a merge request.
Create an issueto suggest an improvement to this page.
Show and post commentsto review and give feedback about this page.
Product
Create an issueif there's something you don't like about this feature.
Propose functionalityby submitting a feature request.
Join First Lookto help shape new features.
Feature availability and product trials
View pricingto see all GitLab tiers and features, or to upgrade.
Try GitLab for freewith access to all features for 30 days.
Get Help

If you didn't find what you were looking for,search the docs.

If you want help with something specific and could use community support,post on the GitLab forum.

For problems setting up or using this feature (depending on your GitLabsubscription).

Request supportPlease enable JavaScript to view thecomments powered by Disqus.-->

In this article, you'll learn how to install .NET on macOS. .NET is made up of the runtime and the SDK. The runtime is used to run a .NET app and may or may not be included with the app. The SDK is used to create .NET apps and libraries. The .NET runtime is always installed with the SDK.

The latest version of .NET is 5.0.

Supported releases

The following table is a list of currently supported .NET releases and the versions of macOS they're supported on. These versions remain supported either the version of .NET reaches end-of-support.

  • A ✔️ indicates that the version of .NET Core is still supported.
  • A ❌ indicates that the version of .NET Core isn't supported.
Operating System.NET Core 2.1.NET Core 3.1.NET 5.0
macOS 11.0 'Big Sur'✔️ 2.1 (Release notes)✔️ 3.1 (Release notes)✔️ 5.0 (Release notes)
macOS 10.15 'Catalina'✔️ 2.1 (Release notes)✔️ 3.1 (Release notes)✔️ 5.0 (Release notes)
macOS 10.14 'Mojave'✔️ 2.1 (Release notes)✔️ 3.1 (Release notes)✔️ 5.0 (Release notes)
macOS 10.13 'High Sierra'✔️ 2.1 (Release notes)✔️ 3.1 (Release notes)✔️ 5.0 (Release notes)
macOS 10.12 'Sierra'✔️ 2.1 (Release notes)❌ 3.1 (Release notes)❌ 5.0 (Release notes)

Unsupported releases

The following versions of .NET are ❌ no longer supported. The downloads for these still remain published:

Docker install windows
  • 3.0 (Release notes)
  • 2.2 (Release notes)
  • 2.0 (Release notes)

Runtime information

The runtime is used to run apps created with .NET. When an app author publishes an app, they can include the runtime with their app. If they don't include the runtime, it's up to the user to install the runtime.

There are two different runtimes you can install on macOS:

Docker-compose
  • ASP.NET Core runtime
    Runs ASP.NET Core apps. Includes the .NET runtime.

  • .NET runtime
    This runtime is the simplest runtime and doesn't include any other runtime. It's highly recommended that you install ASP.NET Core runtime for the best compatibility with .NET apps.

SDK information

The SDK is used to build and publish .NET apps and libraries. Installing the SDK includes both runtimes: ASP.NET Core and .NET.

Dependencies

.NET is supported on the following macOS releases:

.NET Core VersionmacOSArchitecturesMore information
5.0High Sierra (10.13+)x64More information
3.1High Sierra (10.13+)x64More information
3.0High Sierra (10.13+)x64More information
2.2Sierra (10.12+)x64More information
2.1Sierra (10.12+)x64More information

Beginning with macOS Catalina (version 10.15), all software built after June 1, 2019 that is distributed with Developer ID, must be notarized. This requirement applies to the .NET runtime, .NET SDK, and software created with .NET.

The runtime and SDK installers for .NET 5.0 and .NET Core 3.1, 3.0, and 2.1, have been notarized since February 18, 2020. Prior released versions aren't notarized. If you run a non-notarized app, you'll see an error similar to the following image:

For more information about how enforced-notarization affects .NET (and your .NET apps), see Working with macOS Catalina Notarization.

libgdiplus

.NET applications that use the System.Drawing.Common assembly require libgdiplus to be installed.

An easy way to obtain libgdiplus is by using the Homebrew ('brew') package manager for macOS. After installing brew, install libgdiplus by executing the following commands at a Terminal (command) prompt:

Install with an installer

macOS has standalone installers that can be used to install the .NET 5.0 SDK:

Download and manually install

As an alternative to the macOS installers for .NET, you can download and manually install the SDK and runtime. Manual install is usually performed as part of continuous integration testing. For a developer or user, it's generally better to use an installer.

If you install .NET SDK, you don't need to install the corresponding runtime. First, download a binary release for either the SDK or the runtime from one of the following sites:

  • ✔️ .NET 5.0 downloads
  • ✔️ .NET Core 3.1 downloads
  • ✔️ .NET Core 2.1 downloads

Next, extract the downloaded file and use the export command to set variables used by .NET and then ensure .NET is in PATH.

To extract the runtime and make the .NET CLI commands available at the terminal, first download a .NET binary release. Then, open a terminal and run the following commands from the directory where the file was saved. The archive file name may be different depending on what you downloaded.

Mac Docker Install Location

Use the following commands to extract the runtime or SDK that you downloaded. Remember to change the DOTNET_FILE value to your file name:

Tip

The preceding export commands only make the .NET CLI commands available for the terminal session in which it was run.

You can edit your shell profile to permanently add the commands. There are a number of different shells available for Linux and each has a different profile. For example:

  • Bash Shell: ~/.bash_profile, ~/.bashrc
  • Korn Shell: ~/.kshrc or .profile
  • Z Shell: ~/.zshrc or .zprofile

Edit the appropriate source file for your shell and add :$HOME/dotnet to the end of the existing PATH statement. If no PATH statement is included, add a new line with export PATH=$PATH:$HOME/dotnet.

Also, add export DOTNET_ROOT=$HOME/dotnet to the end of the file.

Docker Install Ubuntu

This approach lets you install different versions into separate locations and choose explicitly which one to use by which application.

Install with Visual Studio for Mac

Visual Studio for Mac installs the .NET SDK when the .NET workload is selected. To get started with .NET development on macOS, see Install Visual Studio 2019 for Mac.

.NET SDK versionVisual Studio version
5.0Visual Studio 2019 for Mac version 8.8 or higher.
3.1Visual Studio 2019 for Mac version 8.4 or higher.
2.1Visual Studio 2019 for Mac version 8.0 or higher.

Install alongside Visual Studio Code

Visual Studio Code is a powerful and lightweight source code editor that runs on your desktop. Visual Studio Code is available for Windows, macOS, and Linux.

While Visual Studio Code doesn't come with an automated .NET installer like Visual Studio does, adding .NET support is simple.

  1. Download and install Visual Studio Code.
  2. Download and install the .NET SDK.
  3. Install the C# extension from the Visual Studio Code marketplace.

Install with bash automation

The dotnet-install scripts are used for automation and non-admin installs of the runtime. You can download the script from the dotnet-install script reference page.

The script defaults to installing the latest long term support (LTS) version, which is .NET Core 3.1. You can choose a specific release by specifying the current switch. Include the runtime switch to install a runtime. Otherwise, the script installs the SDK.

Note

The previous command installs the ASP.NET Core runtime for maximum compatability. The ASP.NET Core runtime also includes the standard .NET runtime.

Docker

Containers provide a lightweight way to isolate your application from the rest of the host system. Containers on the same machine share just the kernel and use resources given to your application.

.NET can run in a Docker container. Official .NET Docker images are published to the Microsoft Container Registry (MCR) and are discoverable at the Microsoft .NET Core Docker Hub repository. Each repository contains images for different combinations of the .NET (SDK or Runtime) and OS that you can use.

Microsoft provides images that are tailored for specific scenarios. For example, the ASP.NET Core repository provides images that are built for running ASP.NET Core apps in production.

For more information about using .NET Core in a Docker container, see Introduction to .NET and Docker and Samples.

Next steps

Macos Install Docker Command Line

  • How to check if .NET Core is already installed.
  • Working with macOS Catalina notarization.
  • Tutorial: Get started on macOS.
  • Tutorial: Create a new app with Visual Studio Code.
  • Tutorial: Containerize a .NET Core app.