最近学了一下docker的基本使用,在此记录

  • 从远端拉取docker image:
    docker pull hello-world
  • 使用image创建新的container:
    docker run hello-world
  • 查看container的状态:
    docker container ls -a
  • 查看所有运行的docker:
    docker ps
  • 查看所有image:
    docker images
  • 删除container:
    docker rm [container的id或alias 可以只打前几位 只要能确定是此container即可]
  • 删除image:
    dcoker rmi [同上]
  • 删除container连同container使用的volume:(删除volume并不会删除从本地映射 到volume的文件)
    docker rm -v [container]
  • 高级方法创建container:
    docker -it ubuntu:16.04 /bin/bash
  • 运行ubuntu的16.04版本的/bin/bash并且显示interactive-tty来操作
    docker -p 8080:80 node
  • 运行node并将主机的8080端口映射到docker的80端口
    docker -v $(pwd):/var/www -p 8080:80 node
  • 创建volume,将当前文件夹映射到docker内的/var/www(会直接覆盖docker内的源文件夹)
    docker -v /var/www node
  • 创建了volume,但是volume是空的
    volume与container脱离,可以多container同时使用
    docker export/import [container] -o name.tar / -i name.tar
  • docker container的导入/导出,导出到文件添加-o,从文件导入添加-i,默认使用stdin与stdout
    docker save/load [image] -o name.tar / -i name.tar
  • docker image的保存/加载,同上
    docker inspect container
  • 查看container详细信息,volume物理位置…等
    docker commit [container] [name[:tag(=version)]]
  • 将container commit为image,之后就可以save image然后拷贝给别人了
  • 不过docker理论上不推荐用此方法配置image,因为这样image中垃圾文件会极其多,浪费空间
  • 推荐使用Dockerfile

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注