この文書の現在のバージョンと選択したバージョンの差分を表示します。
| 両方とも前のリビジョン 前のリビジョン | |||
|
dotnet:dockerのubuntuでdonetを動かす [2023/02/19 16:43] ips 削除 |
— (現在) | ||
|---|---|---|---|
| ライン 1: | ライン 1: | ||
| - | ====== dockerのubuntuでdonetを動かす ====== | ||
| - | ===== 結論 ===== | ||
| - | dockerhubのサイトから下記イメージをプルしてコンテナを起動すればよかった。 | ||
| - | [[https://hub.docker.com/_/microsoft-dotnet-aspnet|https://hub.docker.com/_/microsoft-dotnet-aspnet]] | ||
| - | |||
| - | <code bash Dockerfiel> | ||
| - | FROM mcr.microsoft.com/dotnet/aspnet:6.0 | ||
| - | </code> | ||
| - | |||
| - | <code> | ||
| - | #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/ | ||
| - | |||
| - | </code> | ||
| - | |||
| - | |||
| - | ===== 以下.NETをインストールしていく手順 ===== | ||
| - | |||
| - | [[https://docs.microsoft.com/ja-jp/dotnet/core/install/linux|Linux に .NET をインストールする]] | ||
| - | |||
| - | [[https://docs.microsoft.com/ja-jp/dotnet/core/install/linux-ubuntu|Ubuntu に .NET SDK または .NET ランタイムをインストールする]] | ||
| - | |||
| - | [[https://qiita.com/yusuke-sasaki/items/80bb84c4b3534d1481fc|.Net Coreのコントロールアプリを自己完結型で発行する際に参考にした情報]] | ||
| - | |||
| - | <code> | ||
| - | # コードはホストで管理して、コンテナで実行する。 | ||
| - | |||
| - | # 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! | ||
| - | </code> | ||