Centos7にDocker-ceをインストールします。yuminstalldocker-yを使用して直接インストールされたdockerのバージョンは1.12ですが、dockerは急速に開発され、現在は18.03です。 docker-ceは、dockerのコミュニティバージョンを指します。 1.yumソースを管理するために使用できるyum-config-managerを提供するyum-utilsをインストールします。yuminstall-yyum-utils
2、 Docker-CEのyumソースを追加しますyum-config-manager--add-repo [https://download.docker.com/linux/centos/docker-ce.repo](https://download.docker.com/linux/centos/docker-ce.repo)
ファイルをダウンロードできない場合は、ファイルを/etc/yum.repos.d/docker-ce.repoに直接コピーします。更新できない場合は、ロックされたファイルrm.pidを削除します。3。yumソースインデックスyum makecachefastを更新します。
4、 yum install docker-ceyum install docker-ce -y
5、 Dockersystemctlコマンドの開始と停止はシステムサービスマネージャーコマンドであり、serviceとchkconfigの2つのコマンドを組み合わせたものです。 ?dockerの開始:systemctl start?docker?dockerの停止:systemctl stop?docker?dockerの再起動:systemctl restart?docker?dockerのステータスの確認:systemctl status?docker?起動:systemctl enable?docker
6、 インストールが成功したかどうかを確認しますdockerinfo
dockerの下にあるすべてのミラーを一覧表示します:docker images
? REPOSITORY:画像が配置されている倉庫の名前?TAG:画像タグ?IMAGE ID:画像ID?CREATED:画像の作成日(画像が取得された日付ではありません)?サイズ:画像サイズ?これらの画像はDocker [ホスト]に保存されます。 (https://cloud.tencent.com/product/cdh?from=10680)/ var / lib / dockerディレクトリの下
3.3 ミラーの検索ネットワークから必要なミラーを見つける必要がある場合は、次のコマンドを使用してdockersearchミラー名を検索できます。
? 名前:倉庫名?説明:画像の説明?星:画像の人気を反映したユーザー評価?公式:公式自動:自動構築。これは、画像がDockerHub自動構築プロセスによって作成されたことを意味します。
3.4.1 公式画像やその他の公開画像を含む、DockerハブからDocker画像のホームページをプルします
コマンドを使用してプルします。dockerpullcentos:7現在、中国のドッカーハブへのアクセス速度は少し厄介であり、ドッカーミラーを使用する必要があります。ドッカーイメージアクセラレーションサービスを提供している国内企業はたくさんありますが、以下はdaocloudイメージアクセラレーションに焦点を当てています。 3.4.1.1 Dockerアクセラレータを使用して、Dockerクライアントのバージョンが1.8より大きいユーザーを登録します[https://www.daocloud.io](https://www.daocloud.io/)
Linuxコマンドラインで次のコマンドを実行して、アクセラレータを使用します。curl-sSL [https://get.daocloud.io/daotools/set_mirror.sh](https://get.daocloud.io/daotools/set_mirror.sh)| sh -s [http://8b4bf98a.m.daocloud.io](http://8b4bf98a.m.daocloud.io/)
systemctl daemon-reload
systemctl restart docker
3.5 画像の削除1.docker rmi $ IMAGE_ID:指定された画像を削除します2. docker rmi docker images -q
:すべての画像を削除します
? 最後に実行されたコンテナを表示します:docker ps -l
? 停止したコンテナを表示するdockerps -f status = exited
4.2 コンテナを作成して開始しますか?コンテナの作成に一般的に使用されるパラメータの説明:?コンテナコマンドを作成します:docker run?-i:コンテナを実行することを意味しますか?-t:コンテナが起動後にコマンドラインに入るという意味です。これらの2つのパラメーターを追加した後、コンテナーの作成でログインできます。つまり、疑似端末が割り当てられます。 ?-name:作成したコンテナに名前を付けます。 ?-v:ディレクトリマッピングの関係を表します(前者はホストディレクトリ、後者はホストにマップされたディレクトリです)。複数の-vを使用して、複数のディレクトリまたはファイルのマッピングを実行できます。注:ディレクトリマッピングを実行し、ホストで変更を加えてから、コンテナと共有することをお勧めします。 ?-d:実行後に-dパラメータを追加すると、バックグラウンドで実行するガーディアンコンテナが作成されます(コンテナの作成後にコンテナが自動的にログインされないようにします。-i-t2つのパラメータのみを追加すると、作成後に自動的に作成されます)コンテナに入ります)。 ?-p:ポートマッピングを表します。前者はホストポート、後者はコンテナ内のマッピングポートです。複数の-pを使用して、複数のポートマッピングを実行できます
4.1.1 インタラクティブコンテナインタラクティブコンテナを作成し、mycentosdocker run -it --name = mycentos centos:7 / bin / bashという名前を付けます。この時点で、psコマンドを確認し、開始されたコンテナを確認して、ステータスが開始されていることを確認します。
exitコマンドを使用して、現在のコンテナを終了します
次に、ps -aコマンドを使用して、コンテナーも停止していることを確認します。
ガーディアンコンテナはガーディアンコンテナを作成します。長時間実行する必要があるコンテナの場合、ガーディアンコンテナを作成できます。コマンドは次のとおりです(コンテナ名を繰り返すことはできません):docker run -di --name = mycentos2 centos:7?保護者コンテナにログインします:docker exec -it container_name(またはcontainer_id)/ bin / bash(終了時にコンテナは停止しません) )
4.3 コンテナを停止して開始しますか?実行中のコンテナを停止します:docker stop $ CONTAINER_NAME / ID
? 実行されているコンテナを開始します:docker start $ CONTAINER_NAME / ID
4.4 ファイルのコピーファイルをコンテナにコピーする必要がある場合は、cpコマンドdocker cpを使用できます。コピーする必要のあるファイルまたはディレクトリコンテナ名:コンテナディレクトリは、コンテナからファイルをコピーすることもできます。dockercpコンテナ名:コンテナディレクトリがコピーする必要のあるファイルまたはディレクトリ4.5ディレクトリのマウントコンテナを作成するときに、ホストマシンのディレクトリをコンテナ内のディレクトリにマップできるため、ホストマシンのディレクトリ内のファイルを変更してコンテナに影響を与えることができます。コンテナを作成し、ホストディレクトリに-vパラメータを追加します。containerdirectorydocker run -di -v / usr / local / myhtml:/ usr / local / myhtml --name = mycentos2 centos:7マルチレベルディレクトリを共有している場合、権限が不十分であるというプロンプトが表示される場合があります。
これは、CentOS7のセキュリティモジュールselinuxで権限が無効になっているためです。マウントされたディレクトリに権限がないという問題を解決するには、パラメータ--privileged = trueを追加する必要があります。4.6コンテナのIPアドレスを表示する次のコマンドを使用して、実行中のさまざまなタイプのコンテナを表示できます。 Data docker inspect mycentos2は、次のコマンドを直接実行して、IPアドレスを直接出力することもできます。dockerinspect--format = '{{。NetworkSettings.IPAddress}}' mycentos2
4.7 コンテナを削除しますか?指定したコンテナを削除します:docker rm $ CONTAINER_ID / NAME
停止したコンテナのみを削除できることに注意してください。すべてのコンテナを削除してください:docker rm docker ps -a -q
ビューミラー
5.1.2 MySQLコンテナドッカーを作成しますrun-di --name = 123_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD = 123456 mysql-pはポートマッピングを表し、形式はホストマッピングポートです。コンテナ実行ポート-eは環境変数の追加を表しますMYSQL_ROOT_PASSWORDはルートユーザーですログインパスワード5.1.3MySQLコンテナを入力、MySQLにログインmysqlコンテナを入力docker exec -it 123_mysql / bin / bash login mysqlmysql -u root -p 5.1.4リモートログインMySQL(1)ローカルコンピュータの仮想マシンCentosに接続しますのDockerコンテナ。ここで、192.168.247.130は仮想マシンオペレーティングシステムのIPです。
5.1.5 コンテナのIPアドレスを表示するには、次のコマンドを使用して、dockerinspect123_mysqlを実行しているコンテナのさまざまなデータを表示できます。実行中の効果は次のとおりです。
データベースサーバーのIPは172.17.0.2であることがわかります。5.2Tomcatの展開5.2.1tomcatイメージドッカーのプルpulltomcat:8.5-jre85.2.2tomcatコンテナーの作成javaWebアプリケーションを展開するためのコンテナーの作成-pはアドレスマッピングドッカーを意味しますrun -di --name = 123_tomcat -p 9000:8080 -v / usr / local / myhtml:/ usr / local / tomcat / webapps --privileged = true tomcat:8.5-jre85.3Nginxデプロイメント5.3.1プルNginxミラードッカープルnginx5.3.2Nginxコンテナードッカーの作成run-di --name = 123_nginx -p 80:80 nginx5.3.3 Nginxブラウザーアドレスバー入力のテスト:[http://192.168.247.135](http://192.168.247.135/)
5.3.4 リバースプロキシの公式nginxミラーを構成します。nginx構成ファイルdefault.confは/etc/nginx/conf.dディレクトリにあります。コンテナ内の構成ファイルを編集するのは便利ではありません。最初に構成ファイルをコンテナからホストにコピーし、編集および変更してから、コピーして戻すことができます。 (1)構成ファイルをコンテナーからホストdocker cp 123_nginx:/etc/nginx/conf.d/default.conf default.confにコピーします。(2)default.confを編集し、リバースプロキシ構成をアップストリームdaili {サーバー172.17.0.7に追加します。 :8080;} server {listen 80; server_name [www.test.com](https://www.jianshu.com/www.test.com); location / {proxy_pass [http:// daili](http://daili/); index index.html index.htm;}}
(3)変更した構成ファイルをcontainer docker cp default.conf 123_nginx:/etc/nginx/conf.d/default.confにコピーします。(4)container docker restart 123_nginxを再起動します。(5)ドメイン名を192.168.247.135に設定します[ www.test.com](https://www.jianshu.com/www.test.com)5.4 [Redis](https://cloud.tencent.com/product/crs?from=10680)展開5.4.1プルRedisイメージドッカープルredis 5.4.2Redisコンテナドッカーの作成run-di --name = 123_redis -p 6379:6379 redis
5.4.3 クライアントテストローカルコンピュータのコマンドプロンプトで、ウィンドウバージョンのredisクライアントを使用してredis-cli -h192.168.247.135をテストします。
< prepellcheck = "false" class = "md-fences md-end-block contains-cm modeLoaded" lang = "" contenteditable = "false" cid = "n484" mdtype = "fences" style = "box-sizing:border-ボックス;オーバーフロー:表示;フォントファミリー:Consolas、 "Liberation Mono"、Courier、モノスペース;フォントサイズ:0.9em;ホワイトスペース:通常;表示:ブロック;ブレークインサイド:回避;テキスト整列:左; background-image:inherit; background-position:inherit; background-size:inherit; background-repeat:inherit; background-attachment:inherit; background-origin:inherit; background-clip:inherit; background-color:rgb(248、 248、248);位置:相対!重要;ボーダー:1px実線rgb(223、226、229);ボーダー半径:3px;パディング:8px 1em 6px;マージン-ボトム:15px;マージン-トップ:15px;幅:継承;色:rgb(51、51、51); font-style:normal; font-variant-ligatures:normal; font-variant-caps:normal; font-weight:normal; letter-spacing:normal; orphans:2 ; text-indent:0px; text-transform:none; widows:2; word-spacing:0px; -webkit-text-stroke-width:0 px; text-decoration-style:initial; text-decoration-color:initial; ">この時点で、画像はすべてパッケージ化されています。新しいマシンでdockerイメージを復元する場合は、docker load --inputcentos_nginxを使用するだけで済みます。タールで十分です。 6.3画像の復元と移行
まず、mynginxイメージを削除してから、このコマンドを実行してdocker load --i mynginx.tar-iを復元します。入力ファイルが実行され、イメージが再度チェックされます。イメージが復元されたことがわかります。
Recommended Posts