1、ドッキングウィンドウのイメージのダウンロード
ドッキングウィンドウプル[オプション]名[:ダイジェスト@タグ]
最新(最新版):何もない場合は、ラベルの後ろの名前は今ミラーまたはミラーの概要(実際にはミラーバージョン)、それは、ダウンロードドッカハブをデフォルト設定されますすることができます
パラメータの詳細:
名前 |
デフォルト |
説明 |
--all-タグ、A |
|
すべてのミラー倉庫をダウンロード |
--disable-コンテンツ信託 |
真 |
ミラー検証をスキップ |
- プラットホーム |
|
ミラー所有のプラットフォームを設定し、複数のミラーサービスがあるかどうか。 |
2、現在のドッカーミラーを表示します
ドッキングウィンドウの画像[オプション] [リポジトリ[:タグ]]
画像はあなたが見たい画像の名前とバージョンの後ろに追加することができます
3、ランタイムイメージ
ドッキングウィンドウの実行[オプション]の画像[:タグ] [コマンド] [引数...]
推奨:ドッキングウィンドウの実行-dit [ID]
パラメータ:
-d、--detach =偽、 フォアグラウンドまたはバックグラウンドで実行されている指定されたコンテナは、デフォルトは偽
-i、--interactive = falseを、 オープンインタラクティブコンソール用STDIN、
-t、--tty =偽、 物流ターミナルのログインをサポートすることができttyデバイスは、デフォルトではfalseです
-u、--user = 「」、 ユーザーがコンテナを指定します
-a、--attach = [] 、 容器内のログ(基づかなければならないドッカー実行が開始-d容器)
-w、--workdir = "" 、 指定されたコンテナの作業ディレクトリ
-C、--cpu-株式= 0は、 コンテナ提供 CPU共有シナリオを使用して、CPUの重みを
-e、--env = [] 、 指定した環境変数、コンテナは、環境変数で使用することができます
-m、--memory = 「」、 メモリ制限のコンテナを指定します
-P、=すべて--- falseに公開し、 指定されたコンテナは、ポートにさらされています
-p、--publish = [] 、 露出された指定されたコンテナポート
-h、--hostname = 「」、 指定されたコンテナのホスト名
-v、= --volume [] 、 容器のストレージ・ボリュームをマウントするために、容器は、ディレクトリのマウント
= ---からボリューム[] 、 他の容器に容器のボリュームをマウントするために、容器は、ディレクトリにマウント
=追加---キャップ[] 、 権限を追加、権限のリストを参照してください。http://linux.die.net/man/7/capabilitiesを
=ドロップ---キャップ[] 、 削除許可、アクセス許可のリストを参照してください。http://linux.die.net/man/7/capabilities
= --cidfile 「」、 コンテナを実行し、コンテナが指定されたファイルに書き込まれている PID値、典型的な使用状況監視システム
= --cpuset 「」、 容器がが使用されてもよい設けられ、そのパラメータは、CPU容器を独占するために使用することができるCPU
= --device [] 、 にデバイスが対応を通じて、容器にホスト装置を添加します
= - DNS [] 、 指定されたコンテナのDNSサーバ
検索- = - DNS [] 、 指定されたコンテナのDNSドメイン検索、コンテナファイル/etc/resolv.confをへの書き込み
= --entrypoint 「」、 カバー画像のエントリポイントを
ファイル- = --env [] 、 指定された環境変数のファイル、行ごとにファイルフォーマット環境変数
= --expose [] 、 指定されたコンテナのポートは、ポートミラーリングを変更する露出、即ち、露出しました
= --link [] 、 指定されたコンテナ、他のコンテナとの間の関連 IP、envおよび他の情報
--lxc-conf=[], 指定容器的配置文件,只有在指定--exec-driver=lxc时使用
--name="", 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
--net="bridge", 容器网络设置:
bridge 使用docker daemon指定的网桥
host //容器使用主机的网络
container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
none 容器使用自己的网络(类似--net=bridge),但是不进行配置
--privileged=false, 指定容器是否为特权容器,特权容器拥有所有的capabilities
--restart="no", 指定容器停止后的重启策略:
no:容器退出时不重启
on-failure:容器故障退出(返回值非零)时重启
always:容器退出时总是重启
--rm=false, 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
--sig-proxy=true, 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
4、查看正在运行的docker容器
docker ps
-a :显示所有的容器,包括未运行的。
-q :静默模式,只显示容器编号。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-s :显示总的文件大小。
5、进入docker容器内部的shell
docker exec -it [name] bash
-d,以后台方式执行命令;
-e,设置环境变量
-i,交互模式
-t,设置TTY
-u,用户名或UID,例如myuser:myusergroup
6、docker build 构建镜像
docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
-f :指定要使用的Dockerfile路径;
-m :设置内存最大值;
--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
--build-arg=[] :设置镜像创建时的变量;
--cpu-shares :设置 cpu 使用权重;
--cpu-period :限制 CPU CFS周期;
--cpu-quota :限制 CPU CFS配额;
--cpuset-cpus :指定使用的CPU id;
--cpuset-mems :指定使用的内存 id;
--disable-content-trust :忽略校验,默认开启;
--force-rm :设置镜像过程中删除中间容器;
--isolation :使用容器隔离技术;
--label=[] :设置镜像使用的元数据;
--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
--no-cache :创建镜像的过程不使用缓存;
--pull :尝试去更新镜像的新版本;
--quiet, -q :安静模式,成功后只输出镜像 ID;
--rm :设置镜像成功后删除中间容器;
--shm-size :设置/dev/shm的大小,默认值是64M;
--ulimit :Ulimit配置。
--network: 默认 default。在构建期间设置RUN指令的网络模式
7、docker删除容器
(1)首先查看系统现有的容器
docker ps -a
很多是测试产生的容器,现在将他们删除,执行:
docker rm [c9b077c1e8b2 97b22f5efeca]
c9b077c1e8b2、97b22f5efeca为要删除容器的id
(2)删除正在运行中的容器
此时id为 ae32dddeadbf 的容器正在运行中
我们直接删除它是会报错的:
这时加上参数 -f (强制删除)即可
docker rm -f ae32dddeadbf
(3)删除所有的容器
先停止所有运行中的容器:
docker stop $(docker ps -q)
再查看所有的容器:
docker ps -aq
删除所有的容器:
docker rm $(docker ps -aq)
8、docker删除镜像
先查看当前镜像:
docker images
删除镜像:
docker rmi ceshicopy2
ok,已经删除
需要注意的是,删除镜像时,必须保证没有容器正在基于此镜像运行着,所以需要先删除基于此镜像的容器,再删除镜像
9、docker镜像的导入导出
先查看当前镜像
docker images
(1)docker镜像的导出
docker save
用法:docker save > 【目标文件】 【源镜像名】
示例:
docker save > nginx.tar hub.c.163.com/library/nginx
(2)docker镜像的导入
docker load
用法:docker load < 【导入的镜像】
示例:
docker load < nginx.tar
10、docker容器的导入导出
查看当前容器
docker ps -a
(1)容器的导出
docker export
用法:docker export > 【目标文件】 【源镜像名】
示例:
docker export > jpress.tar 8bf49fa5ca97
(2)容器的导入
docker import
用法:docker import 【导入的容器】 【导入后修改的名字】
示例:
docker import jpress.tar jpress:1
注意:
容器导入后也会形成镜像,然后再运行此镜像即可!
11、保存修改后的容器内容
docker commit [容器id] [修改后的名字:tag]
示例:
docker commit 03b79d8cef9d jpmysql
已经生成新的镜像,基于修改后的容器。
直接运行即可
12、镜像上传至私有仓库
docker push [OPTIONS] NAME[:TAG]
示例:
1、首先登录docker hub
docker login
2、上传镜像
docker push runningrookie/ubuntu:16.04
注意:上传此镜像前,需要先把镜像的名称改为[用户名]/ubuntu:[tag]格式,前边一定要是自己登录账号的用户名;
注意:[用户名]表示你的用户名,/ubuntu表示这个叫ubuntu的存储库,后边的:[tag]才是你上传到docker hub后显示的标签名称。
3、进入docker hub查看
13、docker容器设置开机自启
1、用法:
启动时加--restart=always参数
2、示例:
docker run --restart=always .....
如果创建时未指定 --restart=always ,可通过update 命令设置:
docker update --restart=always xxx
若想要关闭自启动,可执行
docker update --restart=no xxx
3、参数:
no 不自动重启容器. (默认值)
on-failure 容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10
unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算