docker info:查看信息
docker --help:查看用发
镜像常用命令
1、docker images:查看本地容器
输入后会显示以下内容:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
docker images -a:查看所有镜像
docker images -q:查看说有镜像id
docker images --digests:显示镜像摘要信息
docker images --no-trunc:显示完整的镜像信息
2、docker search 某个镜像名字:查看某个程序是否存在
docker search -s 30 某个名字:查看现在量超过30的某个程序
docker search -s 30 --no-trunc 某个镜像名字:查看信息
3、docker pull 某个镜像的名字:下载镜像
docker pull 某个镜像的名字:版本;可以定向App的版本
4、docker rmi 某个镜像的名字:删除单个镜像
docker rmi -f :强制删除
docker rmi -f 镜像名字1 镜像名字2
docker rmi -f $(docker images -qa):全部删除
容器命令
新建并启动容器:docker run -it --name 想要命名的名字 镜像名字或者id
列出docker所有的启动容器:docker ps
docker ps -l:表示显示上一个运行的容器,
docker ps -a:表示显示过去和现在运行的容器
docker ps -q:表示显示容器编号
退出容器:exit
容器不停止退出:Ctrl+p+Q
重启容器:docker restart 容器名字
停止容器:docker stop 容器名字/容器id
强制停止容器:docker kill 容器名字/容器id
删除已停止的容器:docker rm 容器id
删除多个容器:docker ps -aq |xargs docker rm
启动守护式容器:docker run -d 容器名
查看容器日志:docker logs 容器id
docker logs logs -t 容器id#-t表示显示时间
docker logs logs -t -f 容器id #-f表示实时更新
查看容器内的进程:docker top 容器id
查看容器内的细节:docker inspect 容器id
进入正在运行的容器并以命令进行交互:docker attach 容器id
docker exec -t 容器id 要执行的命令
从容器内拷贝文件到主机上:docker cp 容器id 要拷贝文件的路径 拷贝到本机路径
docker镜像
docker commit -a"提交者" -m"当前运行的容器 重新命名的名字":提交一个新的镜像
docker容器数据卷
直接命令:docker run -it -v /宿主机的绝对目录:/容器内目录 镜像名
①可以实现容器与宿主机之间的数据共享
②及时容器关闭,在主机中修改后,重启容器也会有修改后的文件
docker run -it -v /宿主机的绝对目录:/容器内目录 :ro镜像名 #修改容器内的权限为只能看不能改
dockerfile添加
①根目录下新建mydocker文件并进入
②可在dockerfile中使用VOLUME命令给镜像添加一个或多个数据卷
file构建:下面内容相当于(ocker run -it -v /宿主机的绝对目录1:/容器内目录1 -v //宿主机的绝对目录2:/容器内目录2 镜像名)
FROM 镜像名
VOLUME ["需要创建文件的名字1","需要创建文件的名字2"]
CMD echo "success1"
CMD /bin/bash
③ docker build -f /mydocker/dockerfile -t 想要命名的名字 .#上传更改的镜像程序
数据卷容器
docker run -it --name dc01 镜像名
docker run -it --name dc02 --volumes-from dc01 镜像名#表示dc02继承dc01,dc02会拥有dc01的所有文件
dockerfile解析
完成dockerfile添加的操作有:
①手动编辑dockerfile文件,
②有了这个文件后,直接docker build命令执行,获取一个自定义的镜像
③运行
dockerfile中每条指令都会构建一个新的镜像层,并对镜像进行提交
dockerdfile体系结构:
FROM:继承镜像
MAINTAINER:作者的名字和邮箱地址
RUN:容器构建时需要运行的命令
EXPOSE:对外暴露的端口号
WORKDIR:定义登录进来的工作目录
ENV:用来构建镜像过程中设置环境变量
ADD:拷贝文件时会自动解压tar压缩包
COPY:拷贝文件和目录到镜像中
VOLUME:容器数据卷,用于数据保存和持久化工作
CMD:指定容器时要运行的命令,命令会被覆盖
ENTRYPOINY:指定容器时要运行的命令,命令不会被覆盖,而是追加
ONBUILD:当构建一个被继承的dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发
本地镜像推送到阿里云
1、docker login --username = 仓库网址#登录仓库
2、docker tag 镜像ID 网址#对应镜像内容
3、docker push 网址#上传