首先,在https://hub.docker.com上註冊自己的帳號,例如帳號是(test_a),留着後臺上傳自己的鏡像至hub時用。
- 創建自己的Dockerfile
示例:
vim Dockerfile
寫一個很簡單的內容:
FROM centos
ADD jdk-8u191-linux-x64.tar.gz /usr/local/
複製centos鏡像,將與Dockerfile文件相同目錄下的這個文件(也可以是文件夾)jdk-8u191-linux-x64.tar.gz,添加至虛擬機下/usr/local/
wq
保存退出
- 創建鏡像
docker build -t test_a/centos_test .
結果:
[master@master test]$ docker build -t test_a/centos .
Sending build context to Docker daemon 1.051GB
Step 1/2 : FROM centos
---> 0f3e07c0138f
Step 2/2 : ADD jdk-8u191-linux-x64.tar.gz /usr/local/
---> Using cache
---> 5fa9985ff9bd
Successfully built 5fa9985ff9bd
Successfully tagged test_a/centos:latest
鏡像就創建好了,使用命令查看鏡像:
[master@master test]$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test_a/centos latest 5fa9985ff9bd 10 days ago 616MB
nginx latest 540a289bab6c 2 months ago 126MB
centos latest 0f3e07c0138f 3 months ago 220MB
如果要上傳hub,需要登錄帳號:
[master@master test]$ docker login
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /home/test/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
我這邊已經登錄好了,步驟很簡單。
接着使用命令上傳鏡像:
[master@master test]$ docker push test_a/centos_test
The push refers to repository [docker.io/mondu/centos_test]
7c2429fbXXXX: Pushed
1436e4XXXXX: Pushed
1b1d55XXXXX: Pushed
904167XXXXX: Pushed
9e607bXXXXX: Mounted from library/centos
latest: digest: sha256:1f1a83XXXXXb7ede8bcaXXXXX... size: 4544
再到自己的hub帳號下,就可以看到這個鏡像了。