Dockerとdocker composeを使って、必要なファイルのコピーや諸々の設定を反映済みのコンテナを作成してGo言語の開発環境を構築してみました。 Go言語の公式イメージを使って「docker run」コマンドにオプションを付けてコンテナを起動する方法でも構築はできるのですが、打ち込むコマンドを極力少なくしたかったのでdocker composeを併用しました。 「docker run」コマンドで構築する場合はこちらの記事をご覧ください。
![Dockerとdocker composeでGo言語の開発環境を構築 | ツインターボのブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/0db1cf05f72b14b46769dfc9314fa94231e9673f/height=288;version=1;width=512/https%3A%2F%2Ftwinturbo-power.com%2Fwp-content%2Fuploads%2F2023%2F08%2F2020092201.webp)
概要 最近、Rustの勉強を始めました。 基本的な文法や言語機能を簡単に読んでみて、そろそろ自分で色々試してみようと、DockerでのYew(RustのWebAssemblyフレームワーク)環境を構築をしました。 公式イメージで簡単にできるかと思いきや、こちらのページにあるようにDockerなしで環境構築するのと同じ方法では妙なところで詰まるので、そのあたりを備忘録として残しておきます 目次 前提 成果物(Dockerfileとcompose.yaml) Rust? Yew? Dockerを用いたYew環境構築 準備 Dockerなしで環境構築準備する場合(参考) Yew環境構築 前提 この記事作成時の開発環境 OS:macOS Venture 13.1 CPU:Apple Silicon M1 (chromebook上のcrostini(bullseye)でも動作確認済み) ツール群 イ
みなさん、こんにちは。Acroquest Technology (アクロクエストテクノロジー) の横山 仁(よこやま じん)と申します。 主に仕事ではインフラ関係やDevOps推進に向けた活動などに携わっています。最近では、今回の記事の内容でもあるDocker(ドッカー)を使うこともかなり増えてきて、他にもAnsibleであったり、CIツールのJenkinsなども使って、自動化や開発環境の整備などを主に行っています。 この度、さくらのナレッジでDockerの入門記事の連載をさせていただくことになりました。よろしくお願いします。 今回、Dockerについて、Dockerでどのようなことができるのか、どんな使い方をすると良いのかを、実際に手を動かすことを中心に、6回に分けて紹介していく予定です。前提として、Linuxの基本的な知識がある方を対象として書いていきます。 世の中が当たり前のようにD
Kubernetes を使用する主な利点は、クラウドネイティブ・アプリケーション開発を最適化する際に、物理または仮想マシン (VM) からなるクラスタ上でコンテナをスケジューリングし、実行するためのプラットフォームが得られる点にあります。 さらに、信頼性の高いコンテナベースのインフラストラクチャを本番環境に完全に実装することができます。Kubernetes は運用タスクを自動化します。他のアプリケーション・プラットフォームや管理システムで行える多くの操作を、Kubernetes ではコンテナに対して行うことができます。 Kubernetes パターンを使用することで、開発者は Kubernetes をランタイム・プラットフォームとしてクラウドネイティブ・アプリケーションを作成できます。これらのパターンは、Kubernetes 開発者がコンテナベースのアプリケーションとサービスを構築するため
Kubernetes(クバネティス[2]/クバネテス/クーべネティス[3][4]、K8sと略記される[5])は、コンテナ化したアプリケーションのデプロイ、スケーリング、および管理を行うための、オープンソースのコンテナオーケストレーションシステムである[6]。元々Googleが設計したシステムであるが、現在はCloud Native Computing Foundationがメンテナンスを行っている。Kubernetesの目的は、「ホストのクラスターを横断してアプリケーションコンテナを自動デプロイ、スケーリング、操作するためのプラットフォーム」を提供することとされている[5]。Google自身が提供するGoogle Kubernetes Engineをはじめ、多数のパブリッククラウドサービスプロバイダがKubernetesベースのPaaSやIaaSを提供しており、プラットフォーム提供サービス
技術書「Rubyソースコード完全解説」 と 「docker で ruby」構築。docker(148)RubyDocker技術書Qiitaエンジニアフェスタ_Dockerシステム構成Qiitaエンジニアフェスタ_技術書 今まで買ってよかった技術書を紹介しよう! https://qiita.com/official-events/d409f91fc8b9b44cefb4 の企画に参加する記事です。 Docker上のみでシステムを作るときの構成 https://qiita.com/official-events/339b6440dbd578f4f66f 参加記事です。 協賛企画 bookmeterで協賛企画をはじめました。 今まで買ってよかった技術書を紹介しよう! https://bookmeter.com/events/8648 参加18人 検討中32人 合計 50人の登録がありました。 記
Kubernetes (K8s)は、デプロイやスケーリングを自動化したり、コンテナ化されたアプリケーションを管理したりするための、オープンソースのシステムです。管理や検出を容易にするため、アプリケーションを論理的な単位に分割し、コンテナをグルーピングします。KubernetesはGoogleでの15年にわたる経験を基に構築されており、コミュニティのアイディアや慣習との最善の組み合わせを取っています。 惑星規模のスケーリングGoogleが週に何十億ものコンテナを実行することを可能としているのと同じ原則に沿ってデザインされているため、Kubernetesは運用チームの人数を増やさずに規模を拡大することができます。 いつまでも使えるローカルのテストであろうとグローバル企業での開発であろうと、Kubernetesの柔軟性はあなたの要求がどれだけ複雑になろうとも問題なく、矛盾無く、簡単にアプリケーシ
長かった本連載も今回が最終回です。 この連載では、プログラムがコンピュータ上で動くときに何が起きているのかを、Go言語のコードを通して覗いてきました。 今回は、その締めくくりとして、コンテナについて紹介します。 現在広く利用されているコンテナ技術であるDockerのコアは、Go言語製のlibcontainerというライブラリです。 このライブラリを使って自作のコンテナを仕立ててみます。 今回の原稿にあたっては、仮想化周りでsyohexさんに細かく指摘をいただきました。ありがとうございました。 仮想化 コンテナの話に入る前に、コンテナと目的がよく似た技術である仮想化について説明します。 仮想化は、コンテナよりも先に広く使われるようになった技術ですが、 歴史的にさまざまなソリューションがあり、どのような仕組みか、どのようなメリットがあるか、どのような制約があるか、どこにフォーカスするかで分類の
Revealed at Apple’s ‘One More Thing’ event on Nov 10th, Docker was excited to see new Macs feature Apple silicon and their M1 chip. At Docker we have been looking at the new hypervisor features and support that are required for Mac to continue to delight our millions of customers. We saw the first spotlight of these efforts at Apple WWDC in June, when Apple highlighted Docker Desktop on stage. Our
動作環境 Mac OS Catalina 10.15.1 概要 Mac上でROSを動かしたいと思い、公式を確認したところサポートされてるのがubuntu上だけだったので、Dockerを使ってubuntuを入れた後、その中でROSを動かしたいと思ったのでその実行手順をまとめておこうと思う。rosを入れる手順は別の記事でまとめようと思う。今回はmacのdocker上でubuntuを入れるまでをまとめる。 まずはDockerをインストールする とりあえず、MacにDockerをインストールする 公式サイトでまずは自分のアカウントを作ってログインする そして右上のGet Dockerからインストールできる この時、ターミナル上で以下のコマンドでちゃんとインストールされたか確認できる この時、macのアプリケーションフォルダに入ってるDockerをクリックして起動させてないといけないらしく、参考にし
tl;drgccなら-Wl,...でリンク時のオプション(==ldコマンドのオプション)を渡せる。オプションが複数ある場合はカンマで繋げる。 ldのオプションで動的(-Bdynamic)と静的(-Bstatic)を選ぶことができ、これは混在させることができる。 例: glibc以外をstatic linkしたい g++ -o a.out main.o -static-libgcc -static-libstdc++ -Wl,-Bdynamic,-lc,-ldl,-lpthread,-Bstatic,-lboost_program_options,-lboost_filesystem,-lboost_system,-lssl,-lcrypto,-lz -lc,-ldl,-lpthreadあたりがglibcのライブラリ。 背景時代はコンテナや!シングルバイナリのほうが扱い楽やで!!「実行する環
Docker(ドッカー[4])は、コンテナ仮想化を用いてアプリケーションを開発・配置・実行するためのオープンプラットフォームである[5]。 Dockerはコンテナ仮想化を用いたOSレベルの仮想化によりアプリケーションを開発・実行環境から隔離し、アプリケーションの素早い提供を可能にする。かつその環境自体をアプリケーションと同じようにコード(イメージ)として管理可能にする[6]。Dockerを開発・テスト・デプロイに用いることで「コードを書く」と「コードが製品として実行される」間の時間的ギャップを大きく短縮できる[7]。 概要[編集] アプリケーションソフトウェアは開発環境でコーディングされ、テスト環境で動作確認され、ステージング環境にデプロイされ、本番環境でサービス提供をおこない、開発環境でデバッグされる。ソフトウェア開発ではただアプリケーションのコードを書くのではなく、上記すべての環境整備
Go言語の勉強を始めたので備忘録がてら書いてみます。 今回は環境構築のみですが、Go言語でのAPIサーバーの開発編を続編で書けたらいいなと思ってます。 なぜDockerで? Dockerでの環境構築は、様々なメリットが存在します。 どのOSでも簡単に環境構築が出来る ホストOSと開発アプリが隔離されるので安全 デプロイやテストが楽になる ホストOSにインストールするソフトウェアが減る Dockerは最高です。 そもそもDockerとは? コンテナ型の仮想環境を扱うためのプラットフォームです。 コンテナと呼ばれる軽量、高速に動作する仮想マシンのようなものを作成、配布、実行することができます。 詳細についてはさくらナレッジの記事がわかりやすいのでそちらをご覧ください。 さくらナレッジ Docker入門(第一回)~Dockerとは何か、何が良いのか~ Dockerのインストール Windows
はじめに メリークリスマス!! みなさんは Go のアプリケーション開発をどのような環境で行っていますか? 弊社ではゲームのアプリケーションサーバに Go を採用しており、開発は macOS で Docker for Mac を利用しています。開発当初はこの構成による不満は特に感じていませんでしたが、1年半ほど経ってプロジェクトの規模が大きくなったことで、無視できないレベルで開発スピードを低下させる要因となってしまいました。 弊社ではアプリケーション開発にソースコードの自動生成を多用しており、その影響もあってかコードベースの Go のコードは 150万行を超える規模になっています。 加えて、ビルドする際は cgo 経由で利用している C++ のコードもそれなりの量絡んでくることもあり、 Docker for Mac を使った Docker コンテナ上でのビルドに要する時間は、 メモリ8GB
西暦2038年1月19日3時14分7秒を過ぎたら、Docker環境では何が起こるのか? 前回に挙げた5つの疑問のうち、最後の疑問5はDockerの2038年問題です。実際に、2038年1月19日3時14分7秒を過ぎたらDockerコンテナがどうなるのかを見てみましょう。 Dockerエンジンが稼働するホストOSを2038年にセットする前に、まずは準備として、必要なDockerイメージを2つ入手しておきます。時刻を2038年にセットした後では、Dockerイメージの入手に失敗する可能性がありますので、この時点で入手しておきます。32ビット版のDockerイメージ「tenforward/centos-i386」と比較のための64ビット版CentOS 6.8のDockerイメージ「centos:centos6.8」を入手し、ホストOS上に保存しておきます。
いまさらDockerをはじめてみました。 コマンドを忘れやすいし、古かったり断片的にしか欲しい情報がなかったりして どのように動作しているのか把握に苦しんだので備忘録含めてまとめておきます。 (この記事だけで一通りの使い方はわかるようにしたつもりです。) Dockerを使うことのメリットは次のようなものがあります。 Dockerコンテナ上に仮想環境(OS+ミドルウェア)を構築するため、実環境が汚れない 作成したDockerコンテナはイメージファイル化(Dockerイメージ)できる DockerイメージはDocker Hubでプライベートもしくはパブリックリポジトリにバージョン管理&公開できる Dockerイメージを持ってきてコンテナ起動するだけなので環境移行が楽 Dockerfileと呼ばれる環境作成ファイルからDockerイメージの作成もできる DBサーバの各コンテナを用意し、 アプリサ
{ switch(e.key) { case 'k': if (e.metaKey || e.ctrlKey) { e.preventDefault() open = !open; if (open) { document.body.classList.add('overflow-hidden'); } else { document.body.classList.remove('overflow-hidden'); } } } }"> OverviewGet Docker Docker Desktop Overview Install MacUnderstand permission requirements for MacWindowsUnderstand permission requirements for WindowsLinux Installation per Linux d
前に仕事で作ったdockerを使ったwebアプリの開発環境の覚書です。 実環境はAWSで動いていて、ALBがhttpsでリクエストを受けてALBとwebアプリはhttpで通信します。このような構成をdockerで作りたかったわけです。 簡単な概要はこんな図になります。 ALBのところをNginxのリバースプロキシに置き換えて作りました。 Nginxのリバースプロキシはこんな設定です。 server { listen 443; server_name www.webapp-test.local; ssl on; ssl_certificate /etc/nginx/server.crt; ssl_certificate_key /etc/nginx/server.key; location / { proxy_set_header Host $host; proxy_set_header X
ベースディストリビューションがRaspberry Pi向けのArch LinuxなDocker imageを作ってDocker Hubに登録しました。 リポジトリはmasami256/arch-raspiです。 Dockerfileとベースになるファイルシステムのビルドスクリプトはgithubのmasami256/arch-raspi-docker-imageにあります。 イメージそのものはホントにシンプルで、Archbootstrap にあるarch-bootstrap.shというスクリプトでミニマムの環境を作ってDockerfileでそれをルートファイルシステムに使っているだけです。 Arch LinuxのRaspberry Piポートにはdockerパッケージがあるのでpacmanでdockerをインストールし、docker pullですぐに使えます。 DockerfileでFROM
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く