镜像操作
#拉取镜像到本地
git pull imagename
#查看本地镜像
docker images
#构建镜像
#`yourimagename`为镜像名称,`yourtag`为镜像的Tag(docker images列出来的tag),比如`mongodb:4.4.6`,注意不能少了后面的点号,表示当前的上下文,会在此上下文中寻找`Dockerfile`文件
docker build -t yourimagename:yourtag .
#普通删除镜像
docker rmi 镜像ID
#强制删除镜像
docker rmi -f 镜像ID
#导出镜像
#建议使用镜像名称(`imagename:tag`)导出,这样导入之后还能看到对应的名称,不然是看不到的。后缀名是`.tar`
#使用镜像名称导出
docker save 镜像名称 > xxxx.tar
#使用镜像ID导出
docker save 镜像ID > xxxx.tar
#导入镜像
docker load < xxxx.tar
#列出镜像时,根据名称过滤
docker image ls *xxx*
容器操作
启动、运行容器。
-p端口映射宿主机端口:容器端口,容器端口就是Dockerfile文件EXPOSE出来的那个, --name设置容器名称,yourimagename需要运行的镜像名称
# 以交互模式运行,`/bin/bash`表示在容器内执行`/bin/bash`,然后就进入到容器的交互`bash`界面了
docker run -it -p 8080:8080 --name containername yourimagename /bin/bash
# 后台模式
docker run -d -p 8080:8080 --name containername yourimagename
# 指定挂载卷,主机的目录/data映射到容器的/data
docker run -p 8080:8080 -v /data:/data -d --name containername yourimagename
查看容器
# 仅查看运行中的
docker ps
# 查看所有容器
docker ps -a
# 根据名称过滤容器,且只显示容器ID
docker ls -q -f name=xxx
停止容器
docker stop 容器ID 或者是 docker kill 容器ID
删除容器
# 普通删除
docker rm 容器ID
# 强制删除运行中的容器
docker rm -f 容器ID
查看容器日志
docker logs -f 容器ID
进入容器bash
docker exec -it 容器ID /bin/bash
查看运行中的容器信息
docker inspect 容器ID
格式化输出镜像查询
docker ps --format "table {{.ID}} \t {{.Image}} \t {{.CreatedAt}} \t {{.Status}} \t {{.Names}}"
docker-compose
# 构建容器,且显示进度、删除已有的容器
docker-compose build --progress=plain --force-rm
# 启动容器密,且强制重新创建
docker-compose -p 容器名称 up --force-recreate
相关资料
https://segmentfault.com/a/1190000039239790
zhuanlan.zhihu.com/p/78295209
m.runoob.com/docker/dock…