這次來(lái)嘗試如何將已經(jīng)運(yùn)行的容器打包,封裝成鏡像,并且上傳到阿里云上,為了別的地方下載和使用更加的方便。
畢竟有Docker安裝不難,問(wèn)題是一些特殊的配置麻煩,所以直接制作好,下次直接拉取了運(yùn)行就會(huì)簡(jiǎn)單的多了
首先,進(jìn)入鏡像,如果不清楚地,可以看下上一章。
[root@VM_0_4_centos bin]# docker exec -it 8bf811453641 /bin/bash
然后更新鏡像:
root@8bf811453641:/# apt-get update
這里更新后需要退出:
exit
然后提交容器副本創(chuàng)建一個(gè)新的鏡像:
[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)打包成功了:
![](/d/20211016/21329994c4dac75f65f6ad1b437d3e8e.gif)
運(yùn)行新容器:
[root@VM_0_4_centos bin]# docker run --name nginx_test2 -d -p 80:80 niginx_my/nginx:v1
可以運(yùn)行新的容器,看運(yùn)行結(jié)果。
到這里,表示鏡像已經(jīng)制作完成了。下面來(lái)鏡像進(jìn)行上傳。
這里是上傳到阿里云的鏡像倉(cāng)庫(kù),然后綁定GIT的倉(cāng)庫(kù),拉取也是從這里拉取的。這里記錄一下;
同時(shí)也感謝,https://blog.csdn.net/jacksonary/article/details/78961612 ,從這里得到的方法。
進(jìn)入到阿里云的控制后臺(tái):
![](/d/20211016/3b4eb9e3b9ee08cb828c95cf4b7a590a.gif)
然后創(chuàng)建鏡像倉(cāng)庫(kù):
![](/d/20211016/fbd0cfb19591a399ea54fb96b913dd90.gif)
創(chuàng)建好后,去選擇代碼源:
![](/d/20211016/418e75ed287d30b49dd973441b8b28a4.gif)
這里還是比較簡(jiǎn)單的,就是綁定你的GIT賬戶的一個(gè)倉(cāng)庫(kù)。綁定后就行了。
創(chuàng)建成功后,進(jìn)入倉(cāng)庫(kù)的配置里面:
![](/d/20211016/3623651f7fbe2a80787f948d97aa9367.gif)
阿里云就已經(jīng)將拉取的指令和推送的指令都給出來(lái)了,只需要運(yùn)行就行了。
這里還實(shí)驗(yàn)下上傳鏡像到倉(cāng)庫(kù)。
直接copy指令過(guò)來(lái),上傳,很簡(jiǎn)單的,上傳的過(guò)程會(huì)有點(diǎn)慢。
[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
上傳成功后,到阿里的后臺(tái)看,證明上傳成功了。
![](/d/20211016/4b646620838a269775311f02563b59f1.gif)
追加DockerHUB上傳方法
我的鏡像
![](/d/20211016/99e1daeb2f64afa1f0fef0a011bbd175.gif)
加完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>
可以去后臺(tái)看看鏡像,上傳成功.
![](/d/20211016/c95cf6a609c436eb8e9fbe6d49af4ae0.gif)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。