Docker
docker不需要像虚拟机一样重新加载一个操作系统内核,是利用宿主机的操作系统。
命令
不懂就 --help
镜像命令
docker images
#可选项
#(-a,--all)列出所有镜像
#(-q,--quiet)只显示镜像id
docker search #搜索镜像
#可选项
#--filter=STARS=3000 #搜索出来的镜像是STARS大于3000
docker pull #下载镜像
docker rmi #删除镜像
#docker rmi -f $(docker images -aq) 删除所有镜像
容器命令
docker run [可选参数] image
#可选参数
#--name=“Name” 容器名字
#-d 后台方式运行
#-it 使用交互方式运行
#-p 指定容器端口 -P 8080:80 主机端口:容器端口
#-P 随机指定端口
docker ps #查看运行中的容器
#可选参数
#-a #列出所有容器
#-n #列出最近的第n个容器
#-q #只显示容器编号
exit #容器停止并退出
Ctrl + p + q 容器不停止退出
docker rm 容器id #删除指定容器
docker rm -f $(docker ps -a) #删除所有容器
docker start 容器id
docker restart
docker stop
docker kill
docker top #查看容器进程信息
docker inspect #查看容器元数据
docker exec -it #进入容器并开启一个新的终端
docker attach #进入容器正在执行的终端
docker cp 容器id:容器内路径 目的主机路径 #拷贝容器中的文件到本地主机
命令图解
容器数据卷
docker run it -v 主机目录:容器内目录
具名挂载和匿名挂载
略
数据卷容器
docker run --volumes-from
DockerFile
1.编写DockerFile文件
2.docker build 构建成为一个镜像
3. docker run 运行
4. docker push 发布
DockerFile指令
FROM #基础镜像
MAINTAINER #镜像作者
RUN #
ADD
WORKDIR #工作目录
VOLUME #挂载目录
EXPOSE #保留端口配置
CMD #指定容器启动时要运行的命令,只有最后一个生效
ENTRYPOINT #同上,可以追加命令
ONBUILD #
COPY #将文件拷贝至镜像中
ENV #设置环境变量
docker history 查看看镜像构建步骤
网络模式
bridge
none
host
container
自定义网络
docker network create
docker network connect
其他指令
docker run --restart=