ユーザ用ツール

サイト用ツール


サイドバー

dotnet:dockerのubuntuでdonetを動かす

以前のリビジョンの文書です


dockerのubuntuでdonetを動かす

結論

dockerhubのサイトから下記イメージをプルしてコンテナを起動すればよかった。
https://hub.docker.com/_/microsoft-dotnet-aspnet

Dockerfiel
FROM mcr.microsoft.com/dotnet/aspnet:6.0
#Dockerfileからbaseimageというイメージを作成
$ docker build -t baseimage .

#イメージからmydotnetというコンテナを作成
#[ホストのディレクトリ]はローカルで開発してビルドしたpublishディレクトリ
$ docker run -dit --name mydotnet -v [ホストのディレクトリ]:/home/dotnet --stop-signal SIGKILL baseimage

#作ったコンテナに入る
$ docker exec -it mydotnet /bin/bash

#dotnetを実行してみる
# dotnet hello.dll
Hello, World!
# cd /home/dotnet/

以下.NETをインストールしていく手順

Linux に .NET をインストールする

Ubuntu に .NET SDK または .NET ランタイムをインストールする

.Net Coreのコントロールアプリを自己完結型で発行する際に参考にした情報

# コードはホストで管理して、コンテナで実行する。

# ubutnuイメージからmulinuxというコンテナを作成する
# docker run -dit --name mylinux -v [ホスト]:[コンテナ] --stop-signal SIGKILL ubuntu

# コンテナに入る
# $ docker exec -it mylinux /bin/bash

# ubuntuのバージョン確認
# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04 LTS"

# aptのバージョンアップ
# apt update && apt upgrade

# 必要なものをインストール
# apt install wget sudo

# パッケージリポジトリの追加
# wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
  
  
# SDKインストール
# sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-6.0


# コンパイル
# dotnet publish -c Release --self-contained=true -r linux-x64 -p:PublishSingleFile=true -p:PublishTrimmed=true

# コンパイル
# dotnet publish -c Release -r linux-x64 --self-contained false

# 実行 helloでは実行できなかった...hello.dllを指定する必要があった。
root@046d9cdf152b:/home/dotnet# dotnet hello.dll
Hello, World!
dotnet/dockerのubuntuでdonetを動かす.1657153961.txt.gz · 最終更新: 2022/07/07 09:32 by ips