一 镜像
列出本地镜像
docker images
查找hub镜像
docker search centos
删除本地容器
docker rmi imageid
docker rmi `docker ps -a -q`
下载镜像
docker pull imageid:version/tag
docker pull imageid
docker pull imageid:6.7
通过当前目录的Dockerfile 构建镜像
docker build -t static_web:v1.0 .
docker build -t="loomz/static_web" .
二 容器操作
创建容器
docker run -i -t images /bin/bash
映射所有EXPOSE端口
docker run -i -t -P images /bin/bash
docker run -i -t -p127.0.0.1:8080:80 images /bin/bash
容器取名字
docker run --name contaniner_name -i -t images /bin/bash
-d 守护式容器
-- restart=always 自动重启(始终)
删除容器
docker rm container_id / container_name
docker rm `docker ps -a -q`
启停容器
docker start containerid
docker stop containerid
附着容器
docker attach containerid / container_name
查看容器信息
docker inspect container_id / container_name
查看日志
docker logs containerid / container_name
docker logs -f containerid / container_name
查看宿主机容器进程
dokcer ps
docker ps -a
查看容器内进程
docker top contaniner_id / container_name
进入窗口
docker exec -it containerid / container name /bin/bash
通过nsenter进入容器
sudo nsenter --target $PID --mount --uts --ipc --net --pid
Dockerfile指令
构建镜像时执行命令
RUN ["yum update"]
容器启动时执行的命令,多个CMD只有最后一个生效(Supervisor可以启动多个进程),且会被docker run 后面的命令覆盖
CMD ["/bin/bash", "-l"]
容器启动命令,不会被docker run覆盖
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
指定用户运行容器
USER nginx
USER user:group
USER uid
USER uid:gid
将(构建路径下的)文件添加到容器
ADD filename /opt/appliaction/
ADD filename /opt/appliaction/filename
ADD xxx.tar.gz /opt/app/tomcat/site-wap/ 解压文件到此路径
COPY与ADD相似,
目录不存在则创建目录,类似mkdir -p xxx , 但COPY不会解压
ONBUILD 触发器
ONBUILD ADD . /app/src
ONBUILD run cd /app/src && make