docker は何をしますか?
Docker は、Linux コンテナ (lxc-linux コンテナ) をベースとした高度なコンテナ エンジンであり、Go 言語とソース コードに基づいて開発されています。 github でホストされており、apache2.0 プロトコルに準拠しており、オープンソースです。 docker の目標は、軽量のオペレーティング システム仮想化ソリューションを実装することです。
Docker を学習するには、まずいくつかの概念を理解する必要があります:
イメージ - Docker のイメージは一般的なシステム ISO イメージに似ており、アプリケーション情報が含まれています。
コンテナ - コンテナは実行可能な仮想マシンに相当します。アプリケーションはコンテナ内で実行され、docker は "docker" 上で実行されます。 ウェアハウス - ウェアハウスはイメージが保存される場所です, git と同様に、バージョン管理も 2 つの形式に分かれています: パブリック ウェアハウス (パブリック) とプライベート ウェアハウス (プライベート); docker はほとんどの linux ディストリビューションをサポートします。docker コンテナーを使用すると、さまざまなオペレーティング システムで操作でき、ハードウェア、動作環境、その他の構成を気にすることなく、独自のアプリケーションを独自のマシン上で実行できるため、アプリケーションの移行が非常に簡単になります。 Docker と従来の仮想化テクノロジとの比較
vs
#準備
まず、centos オペレーティング システムを準備する必要があります。仮想マシンも使用できます。特定の構成要件は次のとおりです:2. カーネルは 3.8
以降であることをお勧めします。 docker のインストール
次のコマンドを使用して docker ソフトウェアをインストールするだけですyum -y install docker-io次のコマンドを使用して、docker が正常にインストールされているかどうかを確認できます。
docker version
出力に docker のバージョン番号が表示される場合は、インストールが成功した後、次のコマンドを使用して docker サービスを開始できることを意味します:
service docker start
systemctl start docker.service
ソフトウェアのインストールと同じように、まずソフトウェアを書き込んだ CD を用意する必要があります。仮想光学ドライブを使用している場合は、イメージ ファイルを準備し、それを使用してソフトウェアをインストールする必要があります。 docker の世界にはイメージ ファイルもあります。必要なオペレーティング システムがインストールされています。一般的にこれを docker イメージと呼びます。
ダウンロード イメージ
docker search <image>
Use docker pull imagename (ミラー名)ミラーをダウンロードするには
ダウンロードが完了したら、次のコマンドを使用してすべてのローカル ミラーを表示します:
docker images
ダウンロードが完了すると、次のメッセージが表示されます:
repository tag image id created virtual size docker.io/centos centos7 f753707788c5 12 days ago 127.1 mb
コンテナが開始されると、コンテナがイメージ内に表示されます、コンテナにログインし、必要なソフトウェアやアプリケーションをインストールできます。
すでに実行中の docker に入るために使用します
docker attach dabfb413d8cf[容器id]
次のコマンドを使用してコンテナを開始します:
docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 2a392a47afc5
関連するパラメータは次のとおりです:
-i: コンテナを対話モードで実行することを示します
-t: コンテナがコマンドを入力することを示します
-v 開始後の行: どのローカル ディレクトリをコンテナにマウントする必要があるかを示します。形式は、-v:
すべてのインストール プログラムであると仮定します。これはホストの /root/software/ ディレクトリに配置されますが、今度はコンテナの /mnt/software/ ディレクトリにマウントする必要があります。
これがすべて完了したら、このコンテナにソフトウェアをインストールできます。
docker ファイル転送コマンド
docker cp more.log e7de404c00bd:/tmp/ 1f8787b81bcdJava開発環境をインストール
jdk1.7、tomcat7、nginxをインストールする必要があり、パッケージをインストールします。ダウンロードするだけです。公式 Web サイトから入手します
1. jdk をインストールします
まず、jdk パッケージを解凍します:
tar -zxf jdk-7u71-linux-x64.tar.gz –c
それが rpm パッケージの場合
rpm –ivh jdk-7u71-linux-x64.tar.gz
then restart フォルダーに名前を付けます
mv jdk1.7.0_71/ jdk/
最後に環境変数を設定します
vi ~/.bashrc
次の設定をファイルの最後に追加します:
export java_home=/opt/jdk export path=$path:$java_home
·/etc/profile を開きますテキスト エディタ
·プロファイル ファイルの最後に追加します:
export java_home=/usr/share/jdk1.6.0_14 export path=$java_home/bin:$path export classpath=.:$java_home/lib/dt.jar:$java_home/lib/tools.jar
source ~/.bashrc source /etc/profile
1. tomcat
のインストールについても同様で、tomcat パッケージを解凍します:
tar –zxf apache-tomcat-7.0.55.tar.gz
次に、tomcat ディレクトリの名前を変更します:
mv apache-tomcat-7.0.55/ tomcat/
実行スクリプトを作成します。コンテナで、Tomcat を起動するスクリプトを実行します。具体的なプロセスは次のとおりです:
vi /root/run.sh
次に、スクリプトの内容を次のように編集します:
#!/bin/bash source ~/.bashrc sh /opt/tomcat/bin/catalina.sh run
注意:这里必须先加载环境,然后使用tomcat的运行脚本来运行tomcat
最后,为运行脚本添加执行权限:
chmod u+x /root/run.sh
1.安装nginx
先去官网下载源码包注意要是gz的
下载地址
下载完后,解压安装包:
tar -zxvf nginx-1.11.5.tar.gz
然后再配置安装变量,打开解压后的目录-执行命令
cd nginx-1.11.5
配置安装环境
./configure --prefix=/usr/local/servers/nginx “/usr/local/servers/nginx”是安装路径
有可能会出现./configure: error: c compiler cc is not found
这时需要运行命令更新一下gcc
yum install gcc gcc-c++ ncurses-devel perl yum -y install pcre-devel yum -y install zlib-devel yum -y install autoconf libtool make
在解压目录执行:
make
切换到root用户执行安装命令
make install
创建软链
ln –s /usr/local/servers/nginx/sbin/nginx /usr/local/bin/nginx
启动nginx服务
nginx
再用 ps -ef|grep nginx查看是否启动成功
提交docker镜像
首先退出你刚才配置好的docker镜像
exit
然后使用以下命令可以看到刚才退出的docker镜像
docker ps –a
再使用以下命令,根据某个”容器id”来创建一个新的”镜像”:
docker commit 57c312bbaad1 javaweb:0.1
该容器id是”57c312bbaad1”,所创建的镜像名是”javaweb”
注意:”57c312bbaad1” 这个id是使用 docker ps 命令来查看的
提交了新的镜像你可以把这个镜像储存tar包
docker –o ~/javaweb.tar javaweb
docker save –o 保存的目录 镜像名
启动容器
先用 docker images看看当前所有的镜像
启动最新创建的镜像
docker run -d -p 80:80 --name javaweb javaweb:0.1 /root/run.sh
-d:表示以”守护模式”执行/root/run.sh脚本,此时tomcat控制台不会出现在输出终端上。
-p:表示宿主机与容器的端口映射,此时将容器内部的80端口映射为宿主机的 80端口,这样就向外界暴露了80端口,可通过docker网桥来访问容器内部的80端口了
--name:表示容器名称,用一个有意义的名称命名即可
以上がDockerでJava環境を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。