vagrant + docker:開発環境をすばやく構築

次の環境をすばやく構築します。

VirtualBox

VM環境

浮浪者

完成した画像

$ vagrant box add centos-7 ./centos-7.0-x86_64.box
$ vagrant init centos-7
$ vagrant up
$ vagrant ssh

ポートを変更する
20200411145929

管理者

$ su root
# 密码 vagrant
$ whoami

エントリーケース:https : //www.cnblogs.com/lawsssscat/p/12676477.html
言語の変更:https : //blog.csdn.net/liupeifeng3514/article/details/79005568

ドッカー

仮想コンテナ

一般的なdockerコマンド
さらに:
Dockerコンテナーの再起動戦略:docker inspect 容器ID

古いバージョンを削除

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

インストール:公式Webサイトのチュートリアルhttps://docs.docker.com/engine/install/centos/(非推奨)

# 推荐
$ sudo yum install docker

オープン

$ sudo systemctl start docker
$ sudo systemctl enable docker

Alibaba Cloud Container Image Service:https : //cr.console.aliyun.com/cn-hangzhou/instances/mirrors

$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://eslh5xx9.mirror.aliyuncs.com"]
}
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

MySQL

mysqlを起動

例外処理:/ var / lib / docker / overlay2へのオーバーレイマウントの作成エラー

$ sudo docker pull mysql:5.7
$ sudo docker images 

$ sudo docker run --name mysql --privileged=true -p 3307:3306 \
-v /dev/mydata/mysql/log:/var/log/mysql \
-v /dev/mydata/mysql/data:/var/lib/mysql \
-v /dev/mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7 
  • -v ファイルディレクトリ(ボリューム)マッピング
  • /dev/mydata/mysql/log:/var/log/mysql ローカルにマップされたログ
  • /dev/mydata/mysql/data:/var/lib/mysql データベースデータはローカルにマップされます
  • /dev/mydata/mysql/conf:/etc/mysql ローカルにマップされた構成ファイル
  • MYSQL_ROOT_PASSWORD=root (必須)データベースパスワードの設定

20200411141732

20200411142940

mysqlに入る

docker exec -it mysql /bin/bash

20200411143318

MySQLに関するDocker公式ウェブサイト:5.7:https
://hub.docker.com/_/mysql MySQLに関するDocker公式ウェブサイト:5.7 Dockerfile:https : //github.com/docker-library/mysql/blob/d284e15821ac64b6eda1b146775bf4b6f4844077/5.7/Dockerfile

エンコーディングを変更する

vim  /dev/mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

mysqlを再起動して入力します

 docker restart mysql
 docker exec -it mysql /bin/bash

20200411145025

docker startから開始して開始

$ sudo docker update mysql --restart=always

docker update:1つ以上のコンテナーの構成を更新します

繰り返す

インストールする

$ sudo docker pull redis

データの永続化をオンにする

vim /dev/mydata/redis/conf/redis.conf

入力構成

# 启用AOF持久化
appendonly yes

スタート

$ sudo docker run --name redis \
-v /dev/mydata/redis/data:/data \
-v /dev/mydata/redis/conf:/etc/redis \
-p 6379:6379  \
-d redis redis-server /etc/redis/redis.conf
$  

注:ここでのパスマッピングはファイルではありません。ディレクトリとして上書きされるため、再起動時にエラーが報告されます。

docker startから開始して開始

$ sudo docker update redis --restart=always

クライアントログイン

docker exec -it redis redis-cli

20200411190534

docker restart redis
  • Redis Desktop Manager視覚化ツール
  • redisシリーズ:https ://blog.csdn.net/LawssssCat/article/details/105087326

おすすめ

転載: www.cnblogs.com/lawsssscat/p/12687207.html