Docker-compose
4984 ワード
apt公式ライブラリのdockerバージョンは古い可能性があるため、$sudo apt-get remove docker docker-engine docker-ce docker.を先にアンインストールします.io
aptパッケージインデックスの更新:$sudo apt-get update
HTTPSでリポジトリを使用できるようにaptをインストールします:$sudo apt-get install-y apt-transport-https ca-certificates curl software-properties-common
Docker公式GPG鍵の追加:$curl-fssLhttps://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
次のコマンドを使用してstableリポジトリを設定します:$sudo add-apt-repository"deb[arch=amd 64]https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
aptパッケージインデックスを更新します:$sudo apt-get update
本番システムでは、常に最新バージョンを使用するのではなく、特定のバージョンのDocker CEをインストールする必要がある場合があります.使用可能なバージョンをリストします.$apt-cache madison docker-ceインストールする特定のバージョンを選択します.2番目の列はバージョン文字列で、3番目の列はリポジトリ名で、パッケージがどのリポジトリから来たか、安定性レベルを拡張することを示します.特定のバージョンをインストールするには、バージョン文字列をパッケージ名に添付し、等号(=)で区切ります.
最新バージョンのDocker CE:$sudo apt-get install-y docker-ce=$sudo apt-get install-y docker-ce=18.06をインストールします.3~ce~3-0~ubuntu
dockerを確認dockerサービスが起動しているかどうかを確認します:$systemctl status docker起動していない場合、dockerサービスを起動します:$sudo systemctl start dockerクラシックhello world:$sudo docker run hello-worldすべてのミラー$docker imagesをリストします
Dockerが推奨するコンセプトは、1つのコンテナが1つのサービスプロセスを実行することであり、docker-composeはDockerが提供する複数のDocekrコンテナを管理するためのツール1である.docker-composeコマンドファイル$sudo curl-Lをダウンロードhttps://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose 2.docker-composeコマンドファイルに実行可能権限を付与$sudo chmod+x/usr/local/bin/docker-compose 3.インストールが正しいかどうかをテストするdocker-compose--version
Nginxプロファイルを準備するミラーからデフォルトのコピーをコピーし、必要に応じてdocker run--name tmp-nginx-container-d nginx docker cp tmp-nginx-container:/etc/nginx/nginxを変更します.conf/home Mysqlプロファイルdocker run--name tmp-mysql-container-d mysql:5.7を準備します.24 sudo docker cp tmp-mysql-container:/etc/mysql/my.cnf ./mysql/conf/my.conf sudo docker rm -f tmp-mysql-container
計画ディレクトリ
#役に立つ資料かもしれませんが、構文エラーが発生するたびに、コンテナはエラーを報告して終了します.変更が完了したら、コンソールで「↑」と「enter」を押してdocker-compose upを再実行する必要があります.これはflaskの原因です:flaskが持っているreloadは文法が故障していない場合にしか、間違いがあれば間違いを報告して退出します.容器はpython 3 mainを実行しているからです.py、これが下がると、容器がstopします.この問題を解決するためにflask-failsafeプラグインを使用することができます.そして完璧です.文法の間違いもreloadになります.
aptパッケージインデックスの更新:$sudo apt-get update
HTTPSでリポジトリを使用できるようにaptをインストールします:$sudo apt-get install-y apt-transport-https ca-certificates curl software-properties-common
Docker公式GPG鍵の追加:$curl-fssLhttps://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
次のコマンドを使用してstableリポジトリを設定します:$sudo add-apt-repository"deb[arch=amd 64]https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
aptパッケージインデックスを更新します:$sudo apt-get update
本番システムでは、常に最新バージョンを使用するのではなく、特定のバージョンのDocker CEをインストールする必要がある場合があります.使用可能なバージョンをリストします.$apt-cache madison docker-ceインストールする特定のバージョンを選択します.2番目の列はバージョン文字列で、3番目の列はリポジトリ名で、パッケージがどのリポジトリから来たか、安定性レベルを拡張することを示します.特定のバージョンをインストールするには、バージョン文字列をパッケージ名に添付し、等号(=)で区切ります.
最新バージョンのDocker CE:$sudo apt-get install-y docker-ce=$sudo apt-get install-y docker-ce=18.06をインストールします.3~ce~3-0~ubuntu
dockerを確認dockerサービスが起動しているかどうかを確認します:$systemctl status docker起動していない場合、dockerサービスを起動します:$sudo systemctl start dockerクラシックhello world:$sudo docker run hello-worldすべてのミラー$docker imagesをリストします
Dockerが推奨するコンセプトは、1つのコンテナが1つのサービスプロセスを実行することであり、docker-composeはDockerが提供する複数のDocekrコンテナを管理するためのツール1である.docker-composeコマンドファイル$sudo curl-Lをダウンロードhttps://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose 2.docker-composeコマンドファイルに実行可能権限を付与$sudo chmod+x/usr/local/bin/docker-compose 3.インストールが正しいかどうかをテストするdocker-compose--version
Nginxプロファイルを準備するミラーからデフォルトのコピーをコピーし、必要に応じてdocker run--name tmp-nginx-container-d nginx docker cp tmp-nginx-container:/etc/nginx/nginxを変更します.conf/home Mysqlプロファイルdocker run--name tmp-mysql-container-d mysql:5.7を準備します.24 sudo docker cp tmp-mysql-container:/etc/mysql/my.cnf ./mysql/conf/my.conf sudo docker rm -f tmp-mysql-container
計画ディレクトリ
.
├── docker-compose.yml
├── log
│ ├── gunicorn.log
│ └── nginx
│ ├── access.log
│ └── error.log
├── mysql_master
│ ├── data
│ └── my.cnf
├── mysql_slave
│ ├── data
│ └── my.cnf
├── nginx
│ ├── conf
│ │ └── nginx.conf
│ └── logs
├── Pinshop
│ ├── app.py
│ ├── Apps
│ │ ├── __init__.py
│ │ ├── Product
│ │ │ ├── __init__.py
│ │ │ ├── model.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-36.pyc
│ │ │ │ └── model.cpython-36.pyc
│ │ │ └── views
│ │ │ ├── __pycache__
│ │ │ │ └── test.cpython-36.pyc
│ │ │ └── test.py
│ │ └── __pycache__
│ │ └── __init__.cpython-36.pyc
│ ├── config.py
│ ├── Dockerfile
│ ├── guni_conf.py
│ ├── manage.py
ymlファイルの変更version: '3'
services:
mysql-master:
image: mysql:5.7.24
ports:
- "3306:3306"
volumes:
- "./mysql_master/data:/var/lib/mysql"
- "./mysql_master/my.cnf:/etc/mysql/my.cnf"
- "./log:/var/log"
environment:
- MYSQL_ROOT_PASSWORD=1
networks:
app_net:
ipv4_address: 10.10.10.1
container_name: "compose-mysql-master"
mysql-slave:
image: mysql:5.7.24
ports:
- "3307:3307"
volumes:
- "./mysql_slave/data:/var/lib/mysql"
- "./mysql_slave/my.cnf:/etc/mysql/my.cnf"
- "./log:/var/log"
environment:
- MYSQL_ROOT_PASSWORD=1
networks:
app_net:
ipv4_address: 10.10.10.2
container_name: "compose-mysql-slave"
nginx:
image: nginx:latest
ports:
- "80:80"
# depends_on:
# - "flask"
volumes:
- "./nginx/conf/nginx.conf:/etc/nginx/nginx.conf"
- "./log:/var/log"
networks:
- app_net
container_name: "compose-nginx"
flask:
build: ./Pinshop
image: pin-flask
ports:
- "8000:8000"
# depends_on:
# - mysql-master
# - mysql-slave
volumes:
- "./Pinshop:/code"
- "./log:/var/log"
networks:
- app_net
container_name: "compose-flask"
networks:
app_net:
driver: bridge
ipam:
config:
- subnet: 10.10.0.0/16
vim/etc/hosts変更仮想ホストを追加ディレクトリの下にdocker-compose up-dを入力app buildごとにrun docker-compose up-d nginxを入力して個別にサービスを開始します.ファイルに追加されたdocker-compose logs nginxは、サービス起動に失敗したログdocker-compose psを表示します.現在実行されているサービスステータスと関連情報docker-compose downをリストします.docker-compose downはすべてのコンテナを閉じて削除し、デフォルトのデータdocker exec-it compose-flask/bin/bashを保持してコンテナexitに入りdocker-compose build flaskを終了します.先にstopして、更にピットの点を再建します:相対的な経路を使うことしかできなくて、絶対的な経路はCOPYの時発効しません#役に立つ資料かもしれませんが、構文エラーが発生するたびに、コンテナはエラーを報告して終了します.変更が完了したら、コンソールで「↑」と「enter」を押してdocker-compose upを再実行する必要があります.これはflaskの原因です:flaskが持っているreloadは文法が故障していない場合にしか、間違いがあれば間違いを報告して退出します.容器はpython 3 mainを実行しているからです.py、これが下がると、容器がstopします.この問題を解決するためにflask-failsafeプラグインを使用することができます.そして完璧です.文法の間違いもreloadになります.