docker ubuntu実装手順
8296 ワード
ファイアウォールnmap 1、起動が正しく、テスト済み
エラー処理構成centos 7 docker Failed to get D-Bus connectionエラーDockerコンテナ使用問題を解決する:Failed to get D-Bus connection:Operation not permitted Dockerの設計理念はコンテナ内でバックグラウンドサービスを実行しないことであり、コンテナ自体がホスト上の独立したメインプロセスであり、コンテナ内でサービスを実行するアプリケーションプロセスであると間接的に理解することができる.1つのコンテナのライフサイクルはこのメインプロセスの周りに存在するので、コンテナを正しく使用する方法は、中のサービスをフロントで実行することです.
システムについては、従来のシステムVスタイルのサービス管理に代わって、CentOS 7、Ubuntu 14+などの主流Linuxリリース版のデフォルトのサービス管理となっています.Systemdは、Linuxカーネルにアクセスする権限を持つシステム・サービス・プログラムを維持します.コンテナは完全なオペレーティングシステムではなく、ファイルシステムが1つしかなく、デフォルトの起動は普通のユーザーのような権限でLinuxカーネルにアクセスするだけで、つまり特権がないので、自然に使えません.
そのため、容器の設計原則を守って、1つの容器の中で1つのフロントサービスを実行してください!
私はこのように運行したいのですが、解決できませんか?
答え:はい、特権モードでコンテナを実行します.
コンテナの作成:
CentOS 7でyumを使用してNginxをインストールする方法は最近、何気なくNginxがYumソースを提供していることを発見しました.だから文章を書いて記録します.
1、ソースを追加
デフォルトのCentos 7にはNginxのソースがありません.最近、Nginxの公式サイトにCentosのソースアドレスが提供されていることがわかりました.これにより、次のコマンドを実行してソースを追加できます.
2、インストールNginx
3、Nginxを起動し、起動自動運転を設定する
4、効果の閲覧
ブラウザにサーバーのアドレスを入力します.http://www.dearcloud.cn/
テキスト
dockerにnginxサービスをインストールします.コンテナを開き、nginxを取り付け、省略します.
2.最初のステップでマッピングされていないポートを新しく起動したら、コンテナをミラーに保存してから新しいコンテナを再実行し、実行中のコンテナでポートマッピングdocker run-i-t-d-p 8081:80--name c_を行うことをお勧めしません.nginx lqy/c_nginx:1.0/bin/bash
3.新しく実行された場合、デフォルトではnginxが起動されず、/usr/local/nginx/sbin/nginxが起動されます.
4.ホストでcurlを実行するhttp://127.0.0.1:80816.容器が終了すると容器内のすべてのプロセスを閉じるには、2つの方法がある.新しいコンテナを再起動し、バックグラウンドプロセスはデフォルトでnginx docker run-i-t-d-p 8081:80--name c_を起動します.nginx lqy/c_nginx:1.0/usr/local/nginx/sbin/nginx -g “daemon off;”
2.コンテナ内プロセスの実行nginx docker exec c 2 e 3 e 03 b 3766/usr/local/nginx/sbin/nginx原文の起動
docker
検索ミラー
-pパラメータで異なるポートを設定することもできます:
docker logs[IDまたは名前]は、コンテナ内部の標準出力を表示します.
-f:docker logsをtail-fのように容器内部の標準出力を出力させる.
上記から、アプリケーションが5000ポートを使用しており、アプリケーションへのアクセスログを表示できることがわかります.WEBアプリケーションコンテナのプロセスの表示
コンテナ内部で実行されているプロセスをdocker topで表示することもできます.
WEBアプリケーションの確認
Docker inspectを使用してDockerの下位情報を表示します.Dockerコンテナの構成とステータス情報が記録されたJSONファイルが返されます.WEBアプリ容器の取り外し
docker rmコマンドを使用して不要なコンテナを削除できます
コンテナを削除するときは、コンテナが停止している必要があります.そうしないと、次のエラーが発生します.
ミラーリストを表示
各オプションの説明:
同じ倉庫ソースには複数のTAGがあり、この倉庫ソースの異なるバージョンを表すことができます.例えばubuntu倉庫ソースには15.10、14.04などの複数の異なるバージョンがあります.REPOSITORY:TAGを使用して異なるミラーを定義します.
したがって、バージョン15.10のubuntuシステムミラーを使用してコンテナを実行する場合は、次のコマンドを実行します.
バージョン14.04のubuntuシステムミラーを使用してコンテナを実行する場合、コマンドは次のとおりです.
ミラーのバージョンラベルを指定しない場合は、ubuntuのみを使用する場合は、dockerはubuntu:latestミラーをデフォルトで使用します.
新しいミラーを取得
ローカルホスト上で存在しないミラーを使用すると、Dockerはこのミラーを自動的にダウンロードします.このミラーを事前にダウンロードしたい場合は、docker pullコマンドを使用してダウンロードできます.ミラー
ミラーの作成
dockerミラーウェアハウスからダウンロードしたミラーが私たちのニーズを満たすことができない場合は、以下の2つの方法でミラーを変更できます.
ミラーを更新ミラーを更新する前に、ミラーを使用してコンテナを作成する必要があります.
実行するコンテナ内でapt-get updateコマンドを使用して更新します.
操作が完了したら、exitコマンドを入力してコンテナを終了します.
このときIDがe 218edb 10161のコンテナは、私たちのニーズに応じて変更されたコンテナです.コンテナのコピーをdocker commitにコマンドすることでコミットできます.
各パラメータの説明:
docker imagesコマンドを使用して、新しいミラーrunoob/ubuntu:v 2:ミラーの構築を表示できます.
コマンドdocker buildを使用して、ゼロから新しいミラーを作成します.そのため、Dockerfileファイルを作成する必要があります.Dockerがミラーを構築する方法を示すコマンドのセットが含まれています.ミラーラベルの設定
docker tagコマンドを使用して、ミラーに新しいラベルを追加できます.
docker tagミラーID、ここでは860 c 279 d 2 fec、ユーザ名、ミラーソース名(repository name)、および新しいラベル名(tag)である.
docker imagesコマンドを使用すると、ID 860 c 279 d 2 fecのミラーの複数のラベルが表示されます.Dockerコマンド大全原文コンテナライフサイクル管理
コンテナ操作
コンテナrootfsコマンド
ミラーウェアハウス
ローカルミラー管理
info|version
共通コマンド
以上、Dockerコマンドを使用したほか、Dockerには他にも一般的なコマンドがあります.
Dockerミラーを引き抜く
ホスト上のミラーを表示し、Dockerミラーは/var/lib/dockerディレクトリに保存されます.
ミラーの削除
現在実行中のコンテナを表示
すべてのコンテナを表示
コンテナコマンドの起動、停止、再起動:
バックグラウンドでコンテナを起動した後、このコンテナに入るにはattachコマンドを使用します.
コンテナを削除するコマンド:
現在のシステムDocker情報の表示
Docker hubからミラーをダウンロードします.
docker pull centosを実行すると、Centosという倉庫の下にあるすべてのミラーがローカルrepositoryにダウンロードされます.
これは最も詳しいDocker入門吐血総括docker中国語dockerマニュアルかもしれません
sudo docker run --privileged -tid --name centos7 centos /usr/sbin/init
docker run --privileged -ti --name test1 centos /usr/sbin/init
エラー処理構成centos 7 docker Failed to get D-Bus connectionエラーDockerコンテナ使用問題を解決する:Failed to get D-Bus connection:Operation not permitted Dockerの設計理念はコンテナ内でバックグラウンドサービスを実行しないことであり、コンテナ自体がホスト上の独立したメインプロセスであり、コンテナ内でサービスを実行するアプリケーションプロセスであると間接的に理解することができる.1つのコンテナのライフサイクルはこのメインプロセスの周りに存在するので、コンテナを正しく使用する方法は、中のサービスをフロントで実行することです.
システムについては、従来のシステムVスタイルのサービス管理に代わって、CentOS 7、Ubuntu 14+などの主流Linuxリリース版のデフォルトのサービス管理となっています.Systemdは、Linuxカーネルにアクセスする権限を持つシステム・サービス・プログラムを維持します.コンテナは完全なオペレーティングシステムではなく、ファイルシステムが1つしかなく、デフォルトの起動は普通のユーザーのような権限でLinuxカーネルにアクセスするだけで、つまり特権がないので、自然に使えません.
そのため、容器の設計原則を守って、1つの容器の中で1つのフロントサービスを実行してください!
私はこのように運行したいのですが、解決できませんか?
答え:はい、特権モードでコンテナを実行します.
コンテナの作成:
# docker run -d -name centos7 --privileged=true centos:7 /usr/sbin/init
コンテナにアクセス:# docker exec -it centos7 /bin/bash
システムctlを使用してサービスを開始できます.CentOS 7でyumを使用してNginxをインストールする方法は最近、何気なくNginxがYumソースを提供していることを発見しました.だから文章を書いて記録します.
1、ソースを追加
デフォルトのCentos 7にはNginxのソースがありません.最近、Nginxの公式サイトにCentosのソースアドレスが提供されていることがわかりました.これにより、次のコマンドを実行してソースを追加できます.
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2、インストールNginx
yum search nginx
を使用して、ソースの追加に成功したかどうかを確認します.成功した場合は、次のコマンドを実行してNginxをインストールします.sudo yum install -y nginx
3、Nginxを起動し、起動自動運転を設定する
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
4、効果の閲覧
ブラウザにサーバーのアドレスを入力します.http://www.dearcloud.cn/
テキスト
dockerにnginxサービスをインストールします.コンテナを開き、nginxを取り付け、省略します.
2.最初のステップでマッピングされていないポートを新しく起動したら、コンテナをミラーに保存してから新しいコンテナを再実行し、実行中のコンテナでポートマッピングdocker run-i-t-d-p 8081:80--name c_を行うことをお勧めしません.nginx lqy/c_nginx:1.0/bin/bash
3.新しく実行された場合、デフォルトではnginxが起動されず、/usr/local/nginx/sbin/nginxが起動されます.
4.ホストでcurlを実行するhttp://127.0.0.1:80816.容器が終了すると容器内のすべてのプロセスを閉じるには、2つの方法がある.新しいコンテナを再起動し、バックグラウンドプロセスはデフォルトでnginx docker run-i-t-d-p 8081:80--name c_を起動します.nginx lqy/c_nginx:1.0/usr/local/nginx/sbin/nginx -g “daemon off;”
2.コンテナ内プロセスの実行nginx docker exec c 2 e 3 e 03 b 3766/usr/local/nginx/sbin/nginx原文の起動
docker
検索ミラー
docker search centos
引き抜きミラーdocker pull centos
作成コンテナdocker run -t -p 80:9000 -d -i centos /bin/bash
特権モード作成コンテナ# docker run -d -name centos7 --privileged=true centos /usr/sbin/init
統合モード作成コンテナdocker run -t -p 80:9000 -d -name centos7 --privileged=true -i centos /usr/sbin/init
コンテナリストの表示docker ps
コンテナdocker exec -t -i centos7 /bin/bash
パラメータの説明:-d: 。
-P: 。
-pパラメータで異なるポートを設定することもできます:
docker run -d -p 5000:5000 training/webapp python app.py
WEBアプリケーションログを表示docker logs[IDまたは名前]は、コンテナ内部の標準出力を表示します.
runoob@runoob:~$ docker logs -f bf08b7f2cd89
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
192.168.239.1 - - [09/May/2016 16:30:37] "GET / HTTP/1.1" 200 -
192.168.239.1 - - [09/May/2016 16:30:37] "GET /favicon.ico HTTP/1.1" 404 -
-f:docker logsをtail-fのように容器内部の標準出力を出力させる.
上記から、アプリケーションが5000ポートを使用しており、アプリケーションへのアクセスログを表示できることがわかります.WEBアプリケーションコンテナのプロセスの表示
コンテナ内部で実行されているプロセスをdocker topで表示することもできます.
runoob@runoob:~$ docker top wizardly_chandrasekhar
UID PID PPID ... TIME CMD
root 23245 23228 ... 00:00:00 python app.py
WEBアプリケーションの確認
Docker inspectを使用してDockerの下位情報を表示します.Dockerコンテナの構成とステータス情報が記録されたJSONファイルが返されます.WEBアプリ容器の取り外し
docker rmコマンドを使用して不要なコンテナを削除できます
runoob@runoob:~$ docker rm wizardly_chandrasekhar
wizardly_chandrasekhar
コンテナを削除するときは、コンテナが停止している必要があります.そうしないと、次のエラーが発生します.
runoob@runoob:~$ docker rm wizardly_chandrasekhar
Error response from daemon: You cannot remove a running container bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85. Stop the container before attempting removal or force remove
ミラーリストを表示
docker images
を使用して、ローカルホスト上のミラーをリストできます.各オプションの説明:
REPOSITORY:
TAG:
IMAGE ID: ID
CREATED:
SIZE:
同じ倉庫ソースには複数のTAGがあり、この倉庫ソースの異なるバージョンを表すことができます.例えばubuntu倉庫ソースには15.10、14.04などの複数の異なるバージョンがあります.REPOSITORY:TAGを使用して異なるミラーを定義します.
したがって、バージョン15.10のubuntuシステムミラーを使用してコンテナを実行する場合は、次のコマンドを実行します.
runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash
root@d77ccb2e5cca:/#
バージョン14.04のubuntuシステムミラーを使用してコンテナを実行する場合、コマンドは次のとおりです.
runoob@runoob:~$ docker run -t -i ubuntu:14.04 /bin/bash
root@39e968165990:/#
ミラーのバージョンラベルを指定しない場合は、ubuntuのみを使用する場合は、dockerはubuntu:latestミラーをデフォルトで使用します.
新しいミラーを取得
ローカルホスト上で存在しないミラーを使用すると、Dockerはこのミラーを自動的にダウンロードします.このミラーを事前にダウンロードしたい場合は、docker pullコマンドを使用してダウンロードできます.ミラー
docker search httpd
を検索ミラーdocker pull httpd
をドラッグして、上図のhttpd公式バージョンのミラーを使用して、コマンドdocker pullを使用してミラーをダウンロードすることにしました.ダウンロードが完了すると、このミラーを使用できます.docker run httpd
ミラーの作成
dockerミラーウェアハウスからダウンロードしたミラーが私たちのニーズを満たすことができない場合は、以下の2つの方法でミラーを変更できます.
1. ,
2. Dockerfile
ミラーを更新ミラーを更新する前に、ミラーを使用してコンテナを作成する必要があります.
runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash
root@e218edb10161:/#
実行するコンテナ内でapt-get updateコマンドを使用して更新します.
操作が完了したら、exitコマンドを入力してコンテナを終了します.
このときIDがe 218edb 10161のコンテナは、私たちのニーズに応じて変更されたコンテナです.コンテナのコピーをdocker commitにコマンドすることでコミットできます.
runoob@runoob:~$ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
各パラメータの説明:
-m:
-a:
e218edb10161: ID
runoob/ubuntu:v2:
docker imagesコマンドを使用して、新しいミラーrunoob/ubuntu:v 2:ミラーの構築を表示できます.
コマンドdocker buildを使用して、ゼロから新しいミラーを作成します.そのため、Dockerfileファイルを作成する必要があります.Dockerがミラーを構築する方法を示すコマンドのセットが含まれています.ミラーラベルの設定
docker tagコマンドを使用して、ミラーに新しいラベルを追加できます.
runoob@runoob:~$ docker tag 860c279d2fec runoob/centos:dev
docker tagミラーID、ここでは860 c 279 d 2 fec、ユーザ名、ミラーソース名(repository name)、および新しいラベル名(tag)である.
docker imagesコマンドを使用すると、ID 860 c 279 d 2 fecのミラーの複数のラベルが表示されます.Dockerコマンド大全原文コンテナライフサイクル管理
run
start/stop/restart
kill
rm
pause/unpause
create
exec
コンテナ操作
ps
inspect
top
attach
events
logs
wait
export
port
コンテナrootfsコマンド
commit
cp
diff
ミラーウェアハウス
login
pull
push
search
ローカルミラー管理
images
rmi
tag
build
history
save
load
import
info|version
info
version
共通コマンド
以上、Dockerコマンドを使用したほか、Dockerには他にも一般的なコマンドがあります.
Dockerミラーを引き抜く
docker pull image_name
ホスト上のミラーを表示し、Dockerミラーは/var/lib/dockerディレクトリに保存されます.
docker images
ミラーの削除
docker rmi docker.io/tomcat:7.0.77-jre7 docker rmi b39c68b7af30
現在実行中のコンテナを表示
docker ps
すべてのコンテナを表示
docker ps -a
コンテナコマンドの起動、停止、再起動:
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id
バックグラウンドでコンテナを起動した後、このコンテナに入るにはattachコマンドを使用します.
docker attach container_name/container_id
コンテナを削除するコマンド:
docker rm container_name/container_id
現在のシステムDocker情報の表示
docker info
Docker hubからミラーをダウンロードします.
docker pull centos:latest
docker pull centos:latest
docker pull centosを実行すると、Centosという倉庫の下にあるすべてのミラーがローカルrepositoryにダウンロードされます.
これは最も詳しいDocker入門吐血総括docker中国語dockerマニュアルかもしれません