docker CMD for daily use

images

  1. Display images on current server:
    1
    $ docker images
  2. rename image:
    1
    2
    3
    4
    5
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    oldName latest d583c3ac45fd 26 minutes ago 685.5 MB
    ######## change to ########
    REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
    newName latest d583c3ac45fd 26 minutes ago 685.5 MB
    1
    2
    3
    $ docker image tag oldName:latest newName:latest
    or
    $ docker image tag d583c3ac45fd newName:latest

    Notice: this operation is equal to “copy” + “rename”, thus there will be two repositories “oldName” and “newName” after change. If you want to remove “oldName”, use docker rmi oldName.


docker load / import

  1. docker load can load images which is released via docker save
    1
    $ docker load -i <package>(tar/tar.gz)
    1. docker import imports some packages that is released via docker export
      1
      $ docker import <package> <repository-name:tag-version>

      note: there might be <none> repository name and <none> TAG after import, this is because we did not commit its name when importing. we can rename it after it is imported.


check build logs

  1. get container id
    1
    $ docker ps -a  # list all docker images, get container id here
  2. get logs for certain container
    1
    $ docker logs <container-id>
    set time limit (get latest 30 mins logs)
    1
    $ docker logs --since 30m <container-id>

docker save existed image

for some cases you might want to save local images and reload on another host server. Here I use tiller as an example.

  1. get image id
    1
    2
    3
    $  docker images |grep tiller
    or
    $ docker images|findstr tiller
    1
    2
    registry.cn-hangzhou.aliyuncs.com/google_containers/tiller       v2.16.4               7eece2e1da99        2 days ago          89.1MB
    gcr.io/kubernetes-helm/tiller v2.14.3 2d0a693df3ba 7 months ago 94.2MB
  2. save target image to local tar.gz
    1
    $ docker save 7eece2e1da99 > tiller.tar.gz
    now you can find the tiller.tar.gz under current folder, use docker load -i <pack> for reload on other server.

image is being used by running container xxxxxxxx

follow the error messages, do docker stop <container-id>, then delete the container by docker rm <container-id>, finally do docker rmi <image-id>


delete images/containers in batches

delete images named

1
$ docker images | grep '<none>' | awk '{print $3}' | xargs docker rmi

delete all stopped containers

1
$ docker ps -a | grep 'Exited' | awk '{print $1}' | xargs docker stop | xargs docker rm

run a container from image

docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
sample:

1
$ docker run -itd --name <container-name> -p 8091:8091 -v <volume-path> <image-id or name>