Docker 常用基本操作
查看镜像:# docker images <name>
查看系统上当前运行的docker容器: # docker ps
创建镜像:# mkdir centos7-httpd
# vim Dockerfile
FROM centos:centos7
MAINTAINER don <don@chmyee.com>
RUN yum install -y httpd
# docker build -t centos7-httpd:1.0 .
导出镜像:# docker save -o centos7-httpd-1.0.tar centos7-httpd:1.0
导入镜像:# docker load -i centos7-httpd-1.0.tar
运行镜像:# docker run -it centos7-httpd:1.0
后台运行:#docker run -itd centos7-httpd:1.0
端口映射:#docker run -itd -p 8080:80 centos7-httpd:1.0
(新手注意:docker run 和 docker start 是两个不同的操作,虽然都会启动一个镜像的容器,但是docker run是以镜像为基础重新启动一个容器,是一个全新的容器,而docker start
可以启动你原来运行的容器,看是否是同一个容器,可以用docker ps -a 然后查看container id)
启动容器:#docker start -i centos7-httpd (或 docker start -i <container-id>)
进入容器:#docker exec -it centos7-httpd bash
停止容器:#docker stop <container-id/image-id>
删除容器:#docker rm <copntainer-id/image-id>
删除镜像:#docker rmi <image-id>
查看容器元数据:#docker inspect <container-id> or <image-id>
限制容器内存使用: #docker run -itd -m 100m --memory-swap=100m centos7-httpd:1.0
限制容器CPU使用:#docker run -itd --rm --cpus=2 centos7-httpd:1.0
#docker run -it --rm --cpuset-cpus="1.2" centos7-httpd:1.0 /bin/bash
#docker run -it --rm --cpu-period=100000 --cpu-quata=200000 centos7-httpd:1.0 /bin/bash
两个容器分享CPU0:
#docker run -itd --rm --cpuset-cpus="0" --cpu-shares=512 centos7-httpd:1.0 /bin/bash
#docker run -itd --rm --cpuset-cpus="0" --cpu-shares=1024 centos7-nginx:1.0 /bin/bash
Docker挂载本地目录到容器中:#docker run -itd --name centos7-nginx -v /data:/app/data centos7-nginx:1.0 /bin/bash
修改exit状态的docker配置文件:
#docker ps -a (找到运行过的container-id)
#docker inspect <container-id> | grep MergedDir
#cd <MergedDir>
#ls (此目录即是docker文件目录,修改里面的文件保存退出,重新启动即可)
查看docker运行状态日志:#docker logs <container-id>
docker清理镜像占用的thin pool空间: #docker images -q | xargs docker rmi
docker image 清理:# docker image prune -a -f