這次來嘗試如何將已經(jīng)運行的容器打包,封裝成鏡像,并且上傳到阿里云上,為了別的地方下載和使用更加的方便。
畢竟有Docker安裝不難,問題是一些特殊的配置麻煩,所以直接制作好,下次直接拉取了運行就會簡單的多了
首先,進入鏡像,如果不清楚地,可以看下上一章。
[root@VM_0_4_centos bin]# docker exec -it 8bf811453641 /bin/bash
然后更新鏡像:
root@8bf811453641:/# apt-get update
這里更新后需要退出:
exit
然后提交容器副本創(chuàng)建一個新的鏡像:
[root@VM_0_4_centos bin]# docker commit -m "nginx_my" -a "szy" 8bf811453641 niginx_my/nginx:v1
成功返回sha碼:
[root@VM_0_4_centos bin]# docker commit -m "nginx_my" -a "szy" 8bf811453641 niginx_my/nginx:v1
sha256:1836e4017c607fdd790068da627366e4e0c0cbe2c0dc53626f9a3fe0a2d03ab2
可以發(fā)現(xiàn),鏡像已經(jīng)打包成功了:
運行新容器:
[root@VM_0_4_centos bin]# docker run --name nginx_test2 -d -p 80:80 niginx_my/nginx:v1
可以運行新的容器,看運行結(jié)果。
到這里,表示鏡像已經(jīng)制作完成了。下面來鏡像進行上傳。
這里是上傳到阿里云的鏡像倉庫,然后綁定GIT的倉庫,拉取也是從這里拉取的。這里記錄一下;
同時也感謝,https://blog.csdn.net/jacksonary/article/details/78961612 ,從這里得到的方法。
進入到阿里云的控制后臺:
然后創(chuàng)建鏡像倉庫:
創(chuàng)建好后,去選擇代碼源:
這里還是比較簡單的,就是綁定你的GIT賬戶的一個倉庫。綁定后就行了。
創(chuàng)建成功后,進入倉庫的配置里面:
阿里云就已經(jīng)將拉取的指令和推送的指令都給出來了,只需要運行就行了。
這里還實驗下上傳鏡像到倉庫。
直接copy指令過來,上傳,很簡單的,上傳的過程會有點慢。
[root@VM_0_4_centos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
niginx_my/nginx v1 1836e4017c60 16 hours ago 125MB
hello-world latest 4ab4c602aa5e 10 days ago 1.84kB
nginx latest 06144b287844 13 days ago 109MB
[root@VM_0_4_centos ~]# docker login --username=sun29550 registry.cn-qingdao.aliyuncs.com
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@VM_0_4_centos ~]# docker tag [1836e4017c60] registry.cn-qingdao.aliyuncs.com/mysokou/soko_2:v1
Error parsing reference: "[1836e4017c60]" is not a valid repository/tag: invalid reference format
[root@VM_0_4_centos ~]# docker tag niginx_my/nginx:v1 registry.cn-qingdao.aliyuncs.com/mysokou/soko_2:v1
[root@VM_0_4_centos ~]# docker push registry.cn-qingdao.aliyuncs.com/mysokou/soko_2:v1
The push refers to repository [registry.cn-qingdao.aliyuncs.com/mysokou/soko_2]
9e2c0a77e8a4: Pushed
579c75bb43c0: Pushed
67d3ae5dfa34: Pushed
8b15606a9e3e: Pushed
v1: digest: sha256:49768cfb207e5a133d62f3f5a7e59723e7a8c3a0d2c81e4155b34561f557adfc size: 1160
上傳成功后,到阿里的后臺看,證明上傳成功了。
追加DockerHUB上傳方法
我的鏡像
加完tag就可以直接推送了,我是在推送之前登錄的
PS D:\Docker Toolbox> docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: sun2955
Password:
Login Succeeded
登錄后直接推送
PS D:\Docker Toolbox> docker tag nginx_my:0.1 sun2955/my_docker:v1
PS D:\Docker Toolbox> docker push sun2955/my_docker:v1
結(jié)果:
The push refers to repository [docker.io/sun2955/my_docker]
88353f831c90: Pushed
f978b9ed3f26: Pushed
9040af41bb66: Pushed
7c7d7f446182: Pushed
d4cf327d8ef5: Pushed
13cb14c2acd3: Pushed
v1: digest: sha256:a7d0b9705e68a3c161174fb791656af8e85b1ed97d2a3342530763d55cf05482 size: 1569
PS D:\Docker Toolbox>
PS D:\Docker Toolbox>
PS D:\Docker Toolbox>
可以去后臺看看鏡像,上傳成功.
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。