Labs

<< 最初 < 前ページ 次ページ > 最後 >>
icon [Mac]初期設定メモ(CentOS) (2019/08/21)

構成

centos7
├ docker-compose.yml
├ docker
│  ├ Docker用コンテンツ・設定など
└ Vagrantfile

Vagrantインストール

macOS用のdmgをダウンロード
Download Vagrant

初期設定

ここでは CentOS7 を作成する
$ mkdir vagrant
$ cd vagrant
$ vagrant init centos/7
Vagrantfile が作成される
以後はこのディレクトリで操作する

vagrant 起動

$ vagrant up
VirtualBox の CentOS7 が起動
初回はCentOS7イメージをダウンロード&インストール
$ vagrant box list
centos/7 (virtualbox, 1905.1)
Vagrant Box

vagrant 停止

$ vagrant halt

vagrant 再起動

$ vagrant reload

仮想マシン破棄

$ vagrant destroy

ネットワークブリッジ

固定IPも設定できるが、とりあえず DHCP でBridgeで設定する
config.vm.network "public_network"
ちなみにIP固定は
config.vm.network "public_network, ip: "IPアドレス"
Vagrant を再起動すると、どのネットーワークか聞かれるので、利用したい番号を入力
$ vagrant reload
==> default: Checking if box 'centos/7' version '1905.1' is up to date...
==> default: Clearing any previously set network interfaces...
==> default: Available bridged network interfaces:
1) en0: Wi-Fi (AirPort)
2) p2p0
3) awdl0
4) en3: Thunderbolt 1
5) en1: Thunderbolt 2
6) en4: Thunderbolt 3
7) en2: Thunderbolt 4
8) bridge0
9) en5: USB Ethernet(?)
==> default: When choosing an interface, it is usually the one that is
==> default: being used to connect to the internet.
default: Which interface should the network bridge to

ネットーワークを指定

ブリッジするネットーワークがわかっている場合は、Vagrantfile で指定できる(名称は筐体によって異なる)
config.vm.network "public_network", bridge: "en0: Wi-Fi (AirPort)"

SSH接続

$ vagrant ssh

OS確認

$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

root & vagrantユーザ

sudo

$ sudo su
パスワード不要 ※sudoにはパスワードは設定しない事

su

$ su
パスワードはvagrant

vagrant

$ su vagrant
パスワードはvagrant

ifconfigインストール

デフォルトでは ifconfig が利用できないのでインストール
# yum install net-tools
ifconfig で確認すると DHCPで IP が割り振られている
$ ifconfig
eth1: flags=4163 mtu 1500
inet 192.168.11.9 netmask 255.255.255.0 broadcast 192.168.11.255

DockerCompose インストール

Vagrantで docker-compose を起動する場合、vagrant-docker-compose が必要
$ vagrant plugin install vagrant-docker-compose

VirtualBoxイメージのメモリ&CPU設定

Vagrantfile ファイルに記述
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "2048"
    vb.cpus = "2"
  end

共有フォルダ設定

ホストOS(Mac)とゲストOS(VirutalBox上のOS)ディレクトリを共有する場合 vagrant-vbguest が必要
VirtualBox での共有ディレクトリと同じで、
mount -t vboxsf -o uid=ユーザ,gid=ユーザ,dmode=0777,fmode=0666 共有フォルダ名 マウントパス
といった Vagrantfile ファイルに基づいて設定してくれる

vagrant-vbguest インストール

$ vagrant plugin install vagrant-vbguest
$ vagrant vbguest
$ vagrant vbguest --status
[default] GuestAdditions 6.0.10 running --- OK.

Vagrantfile 設定

共有ディレクトリ vagrant のパーミッションを変更する
config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=775','fmode=666']

vagrant plugin 確認

$ vagrant plugin list
vagrant-docker-compose (1.3.0, global)
vagrant-vbguest (0.19.0, global)

Vagrantfile 設定

config.vm.synced_folder "./docker", "/vagrant/docker"
icon [OSX]ls -l などの短縮エイリアス設定 (2019/08/21)

.bash_profile の設定

.bashrc が存在すれば読み込む
if [ -f ~/.bashrc ]; then
        . ~/.bashrc;
fi

.bashrc の設定

短縮エイリアスを設定
alias ll='ls -l'
alias la='ls -la'
icon [Mac]PostgreSQL起動 (2019/08/20)

インストール

$ docker pull postgres

確認

$ docker images postgres
REPOSITORY TAG IMAGE ID CREATED SIZE
postgres latest c3fe76fef0a6 6 days ago 313MB

$ docker inspect postgres
[
{
"Id": "sha256:c3fe76fef0a611a53dfc8d3ca21fa51bf8ba03cf84c593e50dfe6cc830c69de6",
"RepoTags": [
"postgres:latest"
],
....

起動

初回起動

$ docker run -d --name postgres -p 5432:5432 postgres

2回目以降

$ docker start postgres

起動確認

$ docker ps
もしくは
$docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f44a3f9f944a postgres "docker-entrypoint.s…" 13 minutes ago Up 5 seconds 0.0.0.0:5432->5432/tcp postgres
Macからホスト:0.0.0.0 で接続可能となる

Mac の psql コマンドを利用

psqlコマンドを直接利用するために、HomeBrewでPostgreSQLをインストール
$ brew install postgresql
確認
$ psql --host 0.0.0.0 -l --user postgres
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
....

Docker の psql コマンドを利用

Dockerにログイン

$ docker exec -ti postgres bash

Docker上で操作

# su -u postgres
$ psql --version
psql (PostgreSQL) 11.5 (Debian 11.5-1.pgdg90+1)
postgres@f44a3f9f944a:/$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
...
<< 最初 < 前ページ 次ページ > 最後 >>