一、查看Docker IP
- 进入Docker
l@l-VirtualBox:~/sdk-a1000-docker/BST-HS-Linux-SDK-<Version>/sdk/SDK-Docker-fad-<Version>$sudo ./run_docker.sh a1000b-sdk-fad-<Version> ... sdk docker img: a1000b-sdk-fad-2.3.0.4.tar start load sdk version image... current version: <Version> a1000b-sdk-fad <Version> 30e4166e0b27 2 weeks ago 10.2GB c933f9eacbac a1000b-sdk-fad:<Version> "bash" 22 minutes ago Up 22 minutes 0.0.0.0:212->22/tcp a1000b-sdk-fad-2.3.0.4 the sdk docker img : a1000b-sdk-fad-<Version> is running Duplicate containers exist in the current environment, confirm that the container is retained: a1000b-sdk-fad-<Version>, and input [Y/n]: Y
注:最后一行,一定要输入“Y”
- 获取IP
root@c933f9eacbac:/home# cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 c933f9eacbac
Ip地址:172.17.0.2
二、保存修改到Docker
- 记下Docker 名称、ID以及Version
$ sudo ./run_docker.sh a1000b-sdk-fad-<Version> ... root@73cdb10022d1:/home#
名称:a1000b-sdk-fad
版本:<Version>
ID:73cdb10022d1
或者:
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 73cdb10022d1 a1000b-sdk-fad:<Version> "bash" 3 minutes ago Up 3 minutes 0.0.0.0:212->22/tcp a1000b-sdk-fad-<Version>
注:ID随着每次Docker的运行,都会变动!!!
- 保存Docker修改
- 增加修改
$ sudo ./run_docker.sh a1000b-sdk-fad-<Version> ... root@94f2cf3ac31f:/home# vim test.txt root@94f2cf3ac31f:/home# ll total 16 drwxr-xr-x 1 root root 4096 Apr 23 02:15 ./ drwxr-xr-x 1 root root 4096 Apr 23 02:15 ../ -rw-r--r-- 1 root root 5 Apr 23 02:05 a.txt -rw-r--r-- 1 root root 5 Apr 23 02:15 test.txt root@94f2cf3ac31f:/home# exit exit
新增加文件test.txt,然后退出Docker。
- 保存Docker修改
$ sudo docker commit -a "JerryLiu" -m "add new filetest" 94f2cf3ac31f a1000b-sdk-fad:<Version> sha256:ec135e46f205932f631b982ad9d770b5d9bf6cb8b2f3ae3ec942d49c4bda79a7 $ sudo docker images | grep a1000b-sdk-fad a1000b-sdk-fad <Version> ec135e46f205 25 seconds ago 10.2GB
命令:
sudo docker commit -a <提交者姓名> -m <注释> <ID> <Docker名称>:<Version>
注:Docker名称一定要跟你在上面的Docker名称一样,否则,后面需要启动你自己新定义的Docker,原来的Docker不会有任何修改!!!
比如:
$ sudo docker commit -a "JerryLiu" -m "add new filetest" 94f2cf3ac31f a1000b-sdk:<Version> sha256:ec135e46f205932f631b982ad9d770b5d9bf6cb8b2f3ae3ec942d49c4bda79a7
我把保存的Docker名称写成:a1000b-sdk,那么,我查看的时候:
$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE a1000b-sdk-fad <Version> ec135e46f205 7 minutes ago 10.2GB a1000-sdk <Version> f4c35c69ae47 33 minutes ago 10.2GB
有两个Docker,只有启动a1000b-sdk才有修改,启动a1000b-sdk-fad是没有修改的。
- 运行修改后的Docker
$ sudo ./run_docker.sh a1000b-sdk-fad-2.3.0.4 ... root@1723fd0f96a9:/home# ll total 12 drwxr-xr-x 1 root root 4096 Apr 23 02:18 ./ drwxr-xr-x 1 root root 4096 Apr 23 02:18 ../ -rw-r--r-- 1 root root 5 Apr 23 02:15 test.txt root@1723fd0f96a9:/home#
运行Docker之后,新增加的test.txt仍然存在,说明保存成功。
三、删除Docker Image
$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE a1000b-sdk-fad <Version> ec135e46f205 15 minutes ago 10.2GB <none> <none> 983f086a347d About an hour ago 10.2GB $ sudo docker rmi -f 983f086a347d Deleted: sha256:983f086a347dd6000bd012900cedfea3d3ff461f0754ad7af1d6201561c4caed Deleted: sha256:6dd45eee9f7f32bec1c1d2ed683b4e31083858ed19e57fe08003e9ca65dc3950 $ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE a1000b-sdk-fad <Version> ec135e46f205 15 minutes ago 10.2GB
sudo docker rmi -f <IMAGE ID>
四、映射
docker container run -v /home/l/workspace/:/home/workspace/
docker container run -v 本地目录:Docker目录
五、查看so库类型
root@ubuntu:/path/to/folder# objdump -f libtest.so libtest.so: file format elf32-little root@ubuntu:/path/to/folder# objdump -f libtest.so libtest.so: file format elf64-x86-64
带有“x86”的为x86库,否则为arm库。