docker的安装
基本命令
- docker 帮助命令
- docker 镜像命令
- docker 容器命令
- docker 其他命令
docker 帮助命令
docker -v
docker -version //版本查看
docker --help //帮助命令
docker 镜像命令
docker images //查看本地主机上的镜像
docker images -aq //查看本地主机上所有镜像id
docker search mysql //查找仓库中的mysql
docker pull mysql //下载最新版本的mysql
docker rmi -f mysql //删除mysql镜像
docker rmi -f 镜像id 镜像id 镜像id //删除多个镜像
docker rmi -f $(docker images -aq) //删除所有镜像
docker 容器命令
docker pull centos //下载centos
新建一个容器并启动
docker run [可选参数] image id
参数说明
- --name="Name" //容器名字,用来区分容器
- -d //后台运行
- -it //使用交互方式运行,并进入容器查看内容
-p //指定容器的端口 -p 8080:8080
-p: ip:主机端口:容器端口 -p 主机端口:容器端口(常用) -p 容器端口
- -P 指定随机端口
测试,启动并进入容器
docker run -it centos /bin/bash
查看运行容器
docker ps [命令] //查看运行中的容器
参数说明
- -a//当前运行+历史运行
- -n+?//列出最近创建的容器
-q//只显示编号
退出容器
exit //直接停止容器并退出,如果指定-d后台则不会
快捷键 Ctrl + P +Q//不停止容器退出
删除容器
docker rm 容器id //删除指定容器,不能删除正在运行的容器 docker rm -f $(docker ps -aq) //删除所有容器 docker rm -a -q|xargs docker rm //删除所有的容器
启动和停止容器的操作
docker start 容器id docker restart 容器id docker stop 容器id docker kill 容器id
常用其他命令
后台启动容器
docker run -d 镜像名
问题: docker ps,发现无运行中容器
常见的坑:docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止。
nginx,容器启动后,发现没有提供服务,就会立即停止,就是没有程序了
查看日志
docker logs -tf --tail 10 容器id //近期十条日志 docker logs -tf //所有日志 docker stats //查看所有容器运行状态 docker stats 容器id //查看某个容器内存占用
查看容器进程信息
docker top 容器id
查看镜像的元数据
docker inspect 容器id
进入当前正在运行的容器
方式一: docker exec -it 容器id bash 方式二: docker attach 容器id bash docker exec //进入一个新的终端 docker attach //进入已经在运行的终端
从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的主机路径
备份镜像
docker save docker load