docker常用命令
简介
Docker 是一个开源的应用容器引擎,docker让我们在开发过程中打包的应用以及依赖包到一个轻量级、可移植的容器当中。
为什么要用docker
- docker容器的启动和销毁在秒级完成。
- docker对系统资源利用率高,一台主机可以同时运行多个容器。
- 并且docker基本不消耗额外的系统资源,减少系统开销。
- 快速交付和部署,开发者用一个标准的镜像构建一套容器,运维使用容器进行部署,并且由于docker的启动和销毁都非常快所以提高交付和部署效率
- 可移植性高,由于应用都是部署在容器当中,docker在进行迁移的时候,可以在任意平台运行
构建容器镜像
首先需要创建一个dockerfile的文件,该文件包含勒一系列的构建指令 (注意后面一定要加那个点),执行该命令的时候会在目录查看是否存在dockerFile文件,如果存在的话,执行build并且查看本地是否存在build所需的镜像,如果不存在docker从远端拉去镜像
docker build -t 镜像名 .
查看镜像( 显示所有镜像信息)
docker images
获取镜像
docker pull 镜像名
删除镜像
docker rmi 镜像id
docker rmi 镜像名:版本号
查看正在运行的容器
docker ps
查看所有容器
docker ps -a
停止容器
docker stop 容器名
删除容器
docker rm 容器id
docker rm 容器名
执行容器
docker run 镜像名
执行容器有多个可选参数:
-
- -d 后台运行
- -p 容器内部端口号映射到本机的端口
- -name 为容器指定一个名称
- -v 容器的目录映射到本地的路径
示例:所示代码的意思为使用镜像nginx以后台模式的方式运行并且将容器名字指定为:nginx,把容器内部的/data目录映射到本机的/data下
docker run -p 80:80 --name nginx -v /data:/data -d nginx
查看容器信息
docker inspect 容器名
查看容器日志
docker logs 容器名
进入容器内部
docker exec -it 容器名 bash
标记镜像
docker tag 容器名 新容器名
推送镜像
推送镜像之前首先会要求你登录,登录成功之后推送镜像
docker login
docker push 镜像名
打包镜像
docker commit -p 镜像id 新的镜像名
保存镜像
docker save -o 压缩包名 镜像id
开机运行
docker run -tid --name nginx -p 8081:8080 --restart=always nginx
修改镜像
docker update --restart=always 镜像名
特权模式
--privileged=true