docker概述
环境配置十分麻烦,每一台机器都要部署环境!
项目带上环境安装打包
docker基本组成
客户端-服务器-仓库
镜像:image
镜像好比一个模板,可以通过模板来创建镜像,镜像---》run---》容器提供服务器
通过镜像可以创建多个容器(最终服务运行或者项目运行就在容器中)
容器:container
docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的
启动,停止,删除,基本命令!
把容器理解为简易的linux系统
仓库:repository
仓库就是存放镜像的地方
仓库分为共有仓库和私有仓库
docker hub 就是一个仓库
安装docker
环境准备
1 查看系统是否有docker
2没有的话安装docker
3 docker create -it --name 容器名称 镜像id 、bin/bash
docker 常用命令
镜像命令
docker -a 列出所有镜像
docker -q #只列出镜像id
docker -aq #列出所有镜像的id
docker search 镜像名:tag #搜索镜像 docker search --help #帮助文档
docker pull 镜像名:tag #下载镜像
#如果不写tag,默认latest,docker分层下载;docker io 是docker的地址
docker rmi #删除镜像
docker rmi -f 镜像id 镜像id 镜像id#删除所有镜像
docker rmi -f $(docker images -aq)
docker 命令 --help #帮助命令
容器命令
有了镜像才有容器
新建容器并启动
docker run [可选参数] image
-d 后台方式运行
-it 使用交互方式运行
-p 指定容器端口 -p 8080:8080
主机端口:容器端口
exit 退出容器,从容器中退回主机
列出所有运行的容器
docker ps # 列出正在运行的容器
-a #列出当前运行和历史运行容器
-q 只显示容器的ID
exit #容器停止并退出
Ctrl+Q+P 容器不停止并退出
docker rm 容器id 删除容器
docker rm -f $(docker ps -aq) #删除所有容器
启动和停止容器操作
docker start 容器ID #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止容器
docker kill 容器ID #强制容器
常用其他命令
docker logs -t -f --tail number 容器 id #容器运行日志
docker top 容器ID #查看容器中进程信息
docker inspect 容器id #显示容器的所有信息 元数据
进入当前正在运行的容器
通常使用 的容器都在后台运行,需要进入容器,修改一些配置
docker exec -it 容器id /bin/bash #进入容器后开启一个新的终端,可在里面操作,常用
docker attach 容器id #进入的当前正在运行的容器,不会启动新的进程
从容器内拷贝文件到主机上
只要容器在,数据就在,与运不运行没有关系
docker cp 容器id:/home/test.txt /home
小结
attach #当前shell下attach连接指定运行镜像
build #dockerfile 定制镜像
commit #提交当前容器为镜像
cp #从容器拷贝指定文件或目录到主机
create #创建新容器,但不启动
可视化
portainer
所有的应用直接打包docker镜像,就可以直接跑起来