メインコンテンツまでスキップ

「Docker」タグの記事が15件件あります

全てのタグを見る

· 約11分
moritalous

Sensuとは

Sensu is a complete solution for monitoring and observability at scale. Sensu Go is designed to give you visibility into everything you care about: traditional server closets, containers, applications, the cloud, and more.

Sensuは、大規模な監視と観測のための完全なソリューションです。Sensu Goは、従来のサーバークローゼット、コンテナ、アプリケーション、クラウドなど、気になるものをすべて可視化できるように設計されています。

Go言語で書かれた実装がSensu Goとなります。

Sensu Goには商用版とOSS版があります。機能の差異があるのと、バイナリ提供が商用版のみで、OSS版はソースからビルドする必要があります。今回はOSS版のビルドから実際に試してみました。

· 約3分
moritalous
お知らせ

過去にQiitaに投稿した内容のアーカイブです。

今日わかったこと

  • Docker HubのOfficial ImageのJenkinsはDEPRECATED。代わりにjenkins/jenkins:ltsを使ってねとのこと
  • 公式サイトには以下の記載あり。

The recommended Docker image to use is the Official jenkins/jenkins image (from the Docker Hub repository). This image contains the current Long-Term Support (LTS) release of Jenkins (which is production-ready). However this image doesn’t have docker CLI inside it and is not bundled with frequently used Blue Ocean plugins and features. This means that if you want to use the full power of Jenkins and Docker you may want to go through described below installation process.

DeepL翻訳

使用する推奨Dockerイメージは、Official jenkins/jenkinsイメージ(Docker Hubリポジトリより)です。このイメージには、Jenkinsの現在のLong-Term Support(LTS)リリースが含まれています(これは本番環境に対応しています)。しかし、このイメージにはdocker CLIが内蔵されておらず、頻繁に使用されるブルーオーシャンのプラグインや機能がバンドルされていません。つまり、JenkinsとDockerのパワーをフルに使いたい場合は、以下のようなインストール手順を踏むことになるでしょう。

JenkinsとDockerのパワーをフルに使う方法をDocker Composeで試したので、その時のログを残します。

作業ログ

console
mkdir ~/jenkins-docker
cd ~/jenkins-docker/
~/jenkins-docker/Dockerfile
FROM jenkins/jenkins:2.303.2-jdk11
USER root
RUN apt-get update && apt-get install -y apt-transport-https \
ca-certificates curl gnupg2 \
software-properties-common
RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
RUN apt-key fingerprint 0EBFCD88
RUN add-apt-repository \
"deb [arch=arm64] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable"
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean:1.25.0 docker-workflow:1.26"

※注:Raspberry Pi 4で試したので[arch=arm64]になってますが、多くの場合は[arch=amd4]だと思います。

~/jenkins-docker/docker-compose.yaml
version: '3.9'

services:
docker:
image: docker:dind
privileged: true
networks:
- jenkins-network
environment:
DOCKER_TLS_CERTDIR: /certs
volumes:
- ./jenkins-docker-certs:/certs/client
- ./jenkins-data:/var/jenkins_home
expose:
- "2376"

jenkins-blueocean:
build: .
depends_on:
- docker
networks:
- jenkins-network
environment:
DOCKER_HOST: "tcp://docker:2376"
DOCKER_CERT_PATH: /certs/client
DOCKER_TLS_VERIFY: 1
expose:
- "8080"
- "50000"
ports:
- "8080:8080"
- "50000:50000"
volumes:
- ./jenkins-docker-certs:/certs/client:ro
- ./jenkins-data:/var/jenkins_home

networks:
jenkins-network:
driver: bridge
console
mkdir jenkins-data
mkdir jenkins-docker-certs
docker compose up -d

しばらくすると、Jenkinsが起動し、8080ポートで接続できます。

192.168.0.13_8080_login_from=%2F(iPad).png

Administrator passwordはログに出ているので、docker compose logsで確認しましょう。

あとはこんな感じです。

192.168.0.13_8080_(iPad).png

192.168.0.13_8080_(iPad) (1).png

192.168.0.13_8080_(iPad) (2).png

192.168.0.13_8080_(iPad) (3).png

192.168.0.13_8080_(iPad) (4).png

192.168.0.13_8080_(iPad) (5).png

· 約3分
moritalous
お知らせ

過去にQiitaに投稿した内容のアーカイブです。

自分用の構築メモです。

VirtualBox の設定

  1. ホストネットワークマネージャーを作成する
    Untitled.png

  2. 仮想マシンを作成する際にNICをNATホストオンリーアダプターの2つ設定する
    Untitled (1).png Untitled (2).png

  3. Ubuntu Server 20.04をインストール
    インストールが始まったら、NICを2つとも切断するとUpdateが失敗するのでインストールが早く終る

Ubuntuの設定

  1. SSHの設定
Ubuntu
sudo sed -i 's/#PubkeyAuthentication/PubkeyAuthentication/g' /etc/ssh/sshd_config
sudo sed -i 's/#AuthorizedKeysFile/AuthorizedKeysFile/g' /etc/ssh/sshd_config
sudo systemctl restart sshd.service

ssh-keygen -t rsa -b 4096 -C "moritalous"
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. Dockerインストール
Ubuntu
curl -fsSL https://get.docker.com -o get-docker.sh && \
sudo sh ./get-docker.sh && \
sudo usermod -aG docker $USER
  1. VirtualBoxゲストツールインストール
Ubuntu
sudo apt update && \
sudo apt install -y virtualbox-guest-dkms virtualbox-guest-utils && \
sudo usermod -aG vboxsf $USER

## macと同じパスで共有するため
sudo mkdir -p /Users/Shared/VBox

スクリーンショット 2021-10-10 21.38.21 (1).png

macの設定

  1. 鍵でSSHログインする設定
~/.ssh/config
Host Ubuntu-VirtualBox-Docker
HostName xxx.xxx.xxx.xxx
User ubuntu
IdentityFile ~/.ssh/xxxxxxxxxx/id_rsa
  1. Docker Clientをインストール
mac
curl https://download.docker.com/mac/static/stable/x86_64/docker-20.10.9.tgz -o docker-20.10.9.tgz
tar xzvf docker-20.10.9.tgz
sudo xattr -rc docker
mkdir ~/bin
cp -rf docker/* ~/bin/
echo 'export PATH=$PATH:~/bin' >> ~/.zshrc

docker context create vbox --docker "host=ssh://ubuntu@Ubuntu-VirtualBox-Docker"
docker context use vbox

VSCodeの.devcontainerの設定

  • workspaceFolderを追加
  • workspaceMountを追加
  • mountsを追加
  • remoteUserを削除(rootで動くようにする)
.devcontainer
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.202.1/containers/ubuntu
{
"name": "Ubuntu",
"runArgs": ["--init"],
"build": {
"dockerfile": "Dockerfile",
// Update 'VARIANT' to pick an Ubuntu version: hirsute, focal, bionic
// Use hirsute or bionic on local arm64/Apple Silicon.
"args": { "VARIANT": "focal" }
},
// ここから追加
"workspaceFolder": "/workspace",
"workspaceMount": "source=workspace,target=/workspace,type=volume",

"mounts": [
"source=/Users/Shared/VBox,target=/workspace/VBox,type=bind,consistency=cached"
],
// ここまで追加
// Set *default* container specific settings.json values on container create.
"settings": {},


// Add the IDs of extensions you want installed when the container is created.
// "extensions": [],
"extensions": []

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "uname -a",

// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
// rootユーザーで動かす
// "remoteUser": "vscode"
// rootユーザーで動かす
}

VirtualBoxの起動(コマンドラインでヘッドレス)

mac
VBoxManage startvm Ubuntu20.04-docker --type headless