ミラーを作成する
2つの方法
1. Dockerfile [build]によると
2.実行中のコンテナに基づいて変更した後[コミット]
画像とコンテナの関連付け
1.Dockerfileに基づいてミラーを作成します
1、mkdir dockerfile / lib / centos7base /
ディレクトリを作成する
2.Dockerfileを作成します
vim Dockerfile
次に、ミラーを作成します
docker build -tpython。
--tag、-t: ミラー名とタグ
プロセス分析
dockerのコンパイルプロセスを見てみましょう
コンパイルの最初のステップは既存のPythonを再利用します。
重要な点は、2番目のステップ
b48566f8cf2cが実際にはPythonイメージに基づいて生成された一時的なコンテナーIDであるということです。
インストールプロセスを無視して最後までスキップします。
最後に、一時的に生成されたコンテナーに従って、docker commitはイメージファイルを生成し、最後に一時的なコンテナーを削除します(ブログの冒頭の図と比較してください)
第三に、コンテナに基づいてイメージを構築します
1.ミラーを引き出します
docker run -it centos
(run =(pull start exec))
2.vimを表示する
3.vimをインストールします
yum install vim
4.コンテナを終了します
出口
5.コンテナを提出します
これで、実行中のコンテナに従って生成されたイメージはまだローカルにあり、以下を送信してプライベートサーバーハーバーにプッシュする必要があります
第四に、画像をハーバーにプッシュします
スタートハーバー
install.shを実行して起動することもできます。
docker - compose.ymlはdocker -composeが使用されていることを認識しており、バックグラウンドスタートアップを使用してハーバーを起動できることがわかります。
コンテナを停止します
docker-compose stop
バックグラウンドでコンテナを起動します
docker-compose up -d
ハーバーにログイン
docker login -u 用户名 -p 密码
例えば:
docker login --username=cheergoivan registry.cn-hangzhou.aliyuncs.com
考えられるエラーの問題
[root @ K8S-Master〜] #Docker the Login 192.168.59.128
ユーザー名:ADMIN
パスワード:
応答からのエラーデーモン:Get https://192.168.59.128/v2/:Dial tcp 192.168.59.128:443:Connect:接続が拒否さ
れましたここで述べましたhttpを使用してハーバーをデプロイしたため、接続が拒否されました。アクセス用にhttps://があり、すべてのエラーが報告されます次に、この問題の解決策は実際には/etc/docker/daemon.jsonファイルの下にあります
プライベートウェアハウスに認証を追加してログインできます
[root @ k8s-master〜] #vim /etc/docker/daemon.json
{ "registry-mirrors":["http://f1361db2.m.daocloud.io"]、 "insecure-registries":["192.168.59.128"] }
重启docker
[root @ k8s-master〜] #systemctl restart dockerログインすると、ログインしたことが
わかります。問題は解決しました[root @ k8s-master〜] #docker login 192.168.59.128
ユーザー名:admin
パスワード:
警告!パスワードは暗号化されずに/root/.docker/に保存されます。 config.json。
この警告を削除するように資格情報ヘルパーを構成します
。https://docs.docker.com/engine/reference/commandline/login/#credentials-store
ログインが成功しましたを参照してください。
http://192.168.59.128/にアクセスして、Harbourにログインします。
1.タグ付け
docker tag dkcentos:latest 192.168.59.128/dukang/dukcentos:latest
2.プッシュ
docker push 192.168.59.128/dukang/dukcentos
プライベートサーバーハーバーに移動して、アップロードされた画像に問題がないかどうかを確認します
ここで見ることができることに注意してください:プッシュフォーマット
3.ローカルミラーを削除します(ローカルの役に立たないミラーは削除できます)
(画像に対応するコンテナが停止していることを確認してください)
docker rmi........。
ミラーの複数のリポジトリを削除できません
理由:削除されたImageIDには、複数のREPOSITORY名参照があります。ミラー名で削除します。
参考記事 https://blog.csdn.net/JackLiu16/article/details/80581709
4.画像をプルします
docker pull 192.168.59.128/dukang/dukcentos:latest
総括する:
ミラーの作成
docker build コマンドは、Dockerfileを使用してイメージを作成するために使用されます。
現在のディレクトリにあるDockerfileを使用して、runoob / ubuntu:v1というラベルの付いたイメージを作成します。
docker build -t runoob/ubuntu:v1 .
docker commit:コンテナから新しいイメージを作成します。
将容器a404c6c174a2 保存为新的镜像mymysql:v1 ,并添加提交人信息和说明信息。 docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
-a:提出されたミラー作成者。
-c: Dockerfile命令を使用してミラーを作成します。
-m:送信時の説明テキスト。
-p:コミットするとき、コンテナを一時停止します。
港関連
1.ログイン
docker login http://xxxxx.com
2.プライベートハブにログインしてプロジェクトを作成します
たとえば、プロジェクトの名前はabc-devです。
2.ミラーにタグを付けます
docker tag 2e25d8496557 xxxxx.com/abc-dev/arc:1334
2e25d8496557:画像ID、Docker画像で表示できます
xxxxx.com:プライベートハブドメイン名
abc-dev:プロジェクト名
アーク:ミラー名
1334:ミラーバージョン番号
4.プッシュ
docker push xxxxx.com/abc-dev/arc:1334