Docker使用ベース
2850 ワード
1.インストール
Centos 6.x Dockerパッケージは、デフォルトのCentOS-Extrasソフトウェアソースに含まれています.したがってdockerをインストールするには、次のyumコマンドを実行します.
Centos 7.x公式ソースのdockerは起動できません.以下は公式のインストール方法です.
サービスの開始:
2.docker構成
/etc/sysconfig/docker
起動パラメータを追加
6.x other_args 7.x OPTIONS
作業ディレクトリの変更:
3.運転容器
起動コンテナ(gitlabの例)
その他の起動パラメータ:
コンテナ運転環境に入る
4.ミラー操作
4.1既存ミラーの変更起動容器 コンテナで必要な変更 コンテナの変更をコミット 新しいミラー起動容器 を使用する.
コンテナの変更をコミット:
4.2 Dockerfileによるミラーの作成ディレクトリ を作成 Dockerfileファイル を作成するミラー を構築
Dockerfile構文:
コマンド: FROM、ベースミラー名を指定し、Dockerはあるミラーに機能 を追加することができる. MAINTAINER、指定作成者情報 RUN CMD である. EXPOSE を指定する. ENV を指定 ADD . COPY でもある. USER を指定する. WORKDIR を構成する.
ビルドミラー:
Centos 6.x Dockerパッケージは、デフォルトのCentOS-Extrasソフトウェアソースに含まれています.したがってdockerをインストールするには、次のyumコマンドを実行します.
[root@localhost ~]# yum install docker
Centos 7.x公式ソースのdockerは起動できません.以下は公式のインストール方法です.
# tee /etc/yum.repos.d/docker.repo <
yum install docker-engine
サービスの開始:
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker
2.docker構成
/etc/sysconfig/docker
起動パラメータを追加
6.x other_args 7.x OPTIONS
作業ディレクトリの変更:
other_args="--graph=/data/docker "
3.運転容器
起動コンテナ(gitlabの例)
docker run --detach \
--hostname gitlab.xxx.com \
--publish 443:443 --publish 8080:80 --publish 22:22 \
--name gitlab \
--restart always \
--volume /data/gitlab/config:/etc/gitlab \
--volume /data/gitlab/logs:/var/log/gitlab \
--volume /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
その他の起動パラメータ:
--add-host="www.baidu.com:1.1.1.1" # host
--dns="114.114.114.114" # dns
コンテナ運転環境に入る
docker exec -it 703cecb60169 /bin/bash
4.ミラー操作
4.1既存ミラーの変更
コンテナの変更をコミット:
$ sudo docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c
4.2 Dockerfileによるミラーの作成
Dockerfile構文:
# This is a comment
FROM ubuntu:14.04
MAINTAINER Docker Newbee
RUN apt-get -qq update
RUN apt-get -qqy install ruby ruby-dev
RUN gem install sinatra
コマンド:
"RUN "
、運転命令"CMD ["command", "param1"]"
は、コンテナの起動後に実行するコマンドを指定し、各コンテナには1つのCMDコマンドしかないが、複数ある場合は、最後の1つを基準として"EXPOSE [...]"
、Docker容器露出ポート"ENV "
、環境変数"ADD "
、リソースをコンテナにコピーするか、URLであってもよく、tarファイルである場合は自動的に解凍(相対パスの使用に注意)"COPY "
は、コピーファイル(相対パス)"USER USERNAME(UID)"
,コンテナ運転時のユーザ"WORKDIR /path/to/workdir"
は、後続命令のために作業ディレクトリビルドミラー:
$ sudo docker build -t="ouruser/sinatra:v2" .