最近学了一下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