引言

Docker 是什么?

"Docker"一词指代了多个概念,包括开源社区项目、开源项目使用的工具、主导支持此类项目的公司 Docker Inc.,以及该公司官方支持的工具。这些技术和公司的同名可能会造成混淆。

以下简要说明 Docker 以便区分:

  • IT 软件"Docker"是支持创建和使用 Linux® 容器的容器化技术。
  • 开源 Docker 社区致力于改进这类技术,并免费提供给所有用户,使之获益。
  • Docker Inc. 公司凭借 Docker 社区产品起家,主要负责提升社区版本的安全性,并将技术进步与广大技术社区分享。此外,它还专门对这些技术产品进行完善和安全固化,以服务于企业客户。

借助 Docker,您可将容器当做轻巧、模块化的虚拟机来使用。同时,您还将获得高度灵活性,实现对容器的高效创建、部署及复制,并在环境之间迁移它们,从而有助于您针对云来优化应用

镜像的管理

搜索镜像

docker search 镜像的名字

拉取镜像

docker pull 镜像的名字

查看本地的docker镜像

docker images 
或者
docker image ls
详细信息
docker images -q 只列出镜像的id
docker images --format “{{.ID}}--{{.Repository}}” 格式化显示镜像
docker images --format “ table {{.ID}}\t{{.Repository}}\t{{.Tag}}" 以表格形式显示

删除镜像

docker rmi 镜像id
批量删除镜像
docker rmi `docker images -qa`

导出镜像

docker image save centos:7.8.2003 > /opt/centos7.8.2003.tar
centos:7.8.2003镜像信息,/opt/centos7.8.2003.tar导出后的路径和格式

导入镜像

docker image load -i /opt/centos7.8.2003.tar   

查看镜像的详细id

docker image inspect 镜像id

容器的管理

查看正在运行的容器

docker ps

查看所有运行过的容器记录

docker ps -a

停止容器

docker stop 容器id

进入容器

docker run 等于创建加启动,如果镜像不存在在本地则会去下载镜像

docker exec -it 容器id bash   //进入正在运行的容器
docker run  -p 85:80 nginx   //容器的端口映射85是宿主机的端口,80是容器的端口   
docker run  -P nginx  随机端口映射
docker run - it --rm  -d --name test 容器id/名字 bash/sh  
        -i 交互式命令操作
        -t 开启一个终端
        bash 在进入容器后执行的命令  //其实就相当于shell解释器
        --rm  容器挂了后自动删除容器记录
        -d 在后台运行
        --name test 给容器起一个名字叫test
        --restart=always  //容器挂了后自动重启

容器内的进程必须处于前台运行状态,否则容器会直接退出;如果容器内,什么事也不做,容器也会挂掉,容器内,必须有一个进程在前台运行,//例如docker run nginx 容器会直接挂掉

退出容器

exit

删除容器

docker rm 容器id
强制删除容器
docker rm -f 容器id

查看容器的日志

所有日志
docker logs 容器id
相当于tail -f,实时的刷新日志
docker logs -f 容器id 

查看容器的详细信息

docker container inspect 容器id

查看容器的端口转发情况

docker port 容器id

容器的提交

docker commit 容器id 新的镜像名

查看容器内进程信息

docker top 容器id

查看容器内资源

docker stats 容器id

查看容器的具体信息

docker inspecet 容器id

参考文章

Docker 原理新手指南:一文看懂 Docker 是什么? (redhat.com)