Ubuntu 18.04 BST -- Docker 命令

发布时间 2023-05-22 10:32:46作者: 一条名叫西西的狗

一、查看Docker IP

  1. 进入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”

  2. 获取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

  1. 记下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的运行,都会变动!!!

  2. 保存Docker修改
    1. 增加修改
      $ 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。

    2. 保存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是没有修改的。

  3. 运行修改后的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库。