その後、我々はその後、対応するインストールドキュメントライブラリのpythonによると、Pythonのrequirement.txtにファイルのUbuntuのミラーコピーを与えます
ファイルをコピードッキングウィンドウのコンテナ。まず、コンテナ対応見つけるIDを。その後、コマンドを実行します
ドッキングウィンドウのCPソースファイルの保存先パスへのファイルパス
ルート@ zhf-メープル:/ホーム / zhf / デスクトップ#ドッキングウィンドウのPS
CONTAINER IDイメージコマンドCREATED STATUSポートの名称
f98b8e77182b maple412 / Ubuntuの:nb_test最大17秒22秒前に "/ binに/ bashの" tender_rosalind
ルートの@ zhf-メープル:/ホーム/ zhf /桌面#ドッキングウィンドウCP /home/zhf/docker/requirement.txt f98b8e77182b:/ホーム/ software_requirement
ルートの@ f98b8e77182b:-al /ホーム/ software_requirement番号のLS
合計12
drwxr-XR-X 2ルートルート4096 9月22日午前6時08分。
drwxr-XR-×4ルートルート4096 9月22日午前6時08 ..
-rw-R - r--の1ルートルート2058年9月22日6時03 requirement.txttxt
ルートの@ f98b8e77182b:/ホーム/ software_requirement#のpython3 -r requirement.txtをインストール
画像を保存します。
ドッカーPS -l容器に最後の修正見つけるために、上記のIDを。
ルート@ zhf-メープル:/ホーム / zhf / デスクトップ#ドッキングウィンドウのps -l
CONTAINER IDイメージコマンドCREATED STATUSポートの名称
f98b8e77182b maple412 / Ubuntuの:nb_test "/ binに/ bashの" 17分前に終了しました(1)10分前tender_rosalind
そして、コミットドッカーコンテナのIDのミラーリングを生成することができ、ミラーの名前を
ルートの@ zhf-メープル:/ホーム/ zhf /ドッキングウィンドウの#ドッキングウィンドウコミットf98b8e77182b maple412 / Ubuntuの:テスト
SHA256:bca747cf9c55617d802d9e1633c6d70149959caef49af9a44f6d0a4b840c6c96
この時点で、私たちは鏡生成された画像を表示する必要があります
ルート@ zhf-メープル:/ホーム/ zhf /ドッカ#]ドッキングウィンドウの画像
リポジトリタグ画像ID CREATED SIZE
maple412 / Ubuntuの19秒前にテストbca747cf9c55 522メガバイト
maple412 / Ubuntuのnb_test 1a2a83944331 8ヶ月前に521メガバイト
通过docker login -u xx -p xx 登录docker后就可以上传就成功了
root@zhf-maple:/home/zhf/docker# docker push maple412/ubuntu:test
The push refers to repository [docker.io/maple412/ubuntu]
21b2d81ef223: Pushed
df28f5ba1b2a: Pushed
2c77720cf318: Layer already exists
1f6b6c7dc482: Layer already exists
c8dbbe73b68c: Layer already exists
2fb7bfc6145d: Layer already exists
test: digest: sha256:0a0ecefa6226f7cb22bf8387ec2ac766ab6c958a9b38cdeecc0063da85d2e6f8 size: 1573
docker hub上也可以看到上传的镜像
对应的Dockerfile如下:
FROM ubuntu
WORKDIR /home/software_requirement
COPY ./requirement.txt /home/software_requirement
RUN apt-get update && apt-get install python3-pip --assume-yes
RUN pip3 install -r requirement.txt
这里有2点需要注意下:
1 这里的COPY命令,源路径要写相对路径。也就是requirement.txt相对于Dockerfile的位置,否则会提示找不到源路径位置
2 在使用apt-get install的时候会遇到如下错误,提示是否需要安装,然后自动退出
Step 5/7 : RUN apt-get install python3.6
---> Running in c96a012485da
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
file libexpat1 libmagic-mgc libmagic1 libmpdec2 libpython3.6-minimal
libpython3.6-stdlib libreadline7 libsqlite3-0 libssl1.1 mime-support
python3.6-minimal readline-common xz-utils
Suggested packages:
python3.6-venv python3.6-doc binutils binfmt-support readline-doc
The following NEW packages will be installed:
file libexpat1 libmagic-mgc libmagic1 libmpdec2 libpython3.6-minimal
libpython3.6-stdlib libreadline7 libsqlite3-0 libssl1.1 mime-support
python3.6 python3.6-minimal readline-common xz-utils
0 upgraded, 15 newly installed, 0 to remove and 0 not upgraded.
Need to get 6580 kB of archives.
After this operation, 33.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] Abort.
The command '/bin/sh -c apt-get install python3.6' returned a non-zero code: 1
解决办法就是在命令最后加上--assume-yes
RUN apt-get update && apt-get install python3-pip --assume-yes