Docker学习总结

docker version查看版本
docker info显示docker系统信息
docker --help帮助命令

镜像命令

docker image
-a列出所有镜像
-q只显示镜像id

docker search搜索镜像
docker search mysql --filter=STARS=3000查找下载次数3000次以上的
docker pull mysql:5.7安装mysql


docker rmi -f 镜像id 删除镜像

容器命令

有了镜像才能创建容器
docker pull centos
新建容器启动
docker run[可选参数] image
--name="Name" 容器名字
-d 后台运行
-it使用交互方式执行
-p指定容器的端口 -p 8080
-p 主机端口:容器端口 常用
-P(大写) 随机指定端口
docker run -it centos /bin/bash
exit
docker ps当前运行的
docker ps -a显示当前运行+历史运行
-n=?显示最近运行的容器
-q 只显示容器编号

退出容器

exit直接退出容器并停止
ctrl+p+Q容器不停止
docker rm 容器id
docker rm -f强制删除
$(docker ps -aq)
不能删除正在运行的容器
docker ps -a -q|xargs docker rm删除所有容器

启动和停止容器

docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id 强制停止

docker commit -m="提交描述信息" -a="作者" 容器id 目标镜像名


docker inspect 容器Id
docker exec -it 容器id bashell会启动新进程
docker attach 进入容器正在执行的终端不会启动新进程
docker cp 容器id:容器内路径 主机内路径   将容器内文件拷到主机中去
docker安装nginx
docker search ngnix
docker run -d --name nginx -p 3344:80 nginx

容器数据卷

docker run -it nginx /bin/bash
docker run -it -v /home/ceshi:/home centos /bin/bash
docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/my.cnf -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 --name mysql01 mysql:5.7
#mysql数据挂载
#匿名挂在
-v 容器内路径
docker run -d -P --name nginx01 -v /etc/nginx nginx
docker volume 
这里发现这种就是匿名挂在,我们在-v只写了容器内的路径没有写容器外的路径
具名挂载
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
docker volume inspect juming-nginx

如何确定是具名挂载还是匿名挂在还是指定路径挂载
-v 容器内路径   #匿名挂载
-v 卷名:容器内路径 #具名挂载
-v /宿主机路径::容器内路径 #指定路径挂载
`/var/lib/docker/volume/xxxx/_data`

dockerFile就是用来构建docker镜像的构建文件命令脚本
通过这个脚本可以生成镜像

FROM centos

VOLUME ["volume01","volume02"]

CMD echo "----end----"
CMD /bin/bash

dockerfile执行

[root@admin docker-test-volume]# docker build -f /home/docker-test-volume/dockerfile1 -t jackz/centos:1.0 .

DockerFile的指令

FROM 基础镜像
MAINTAINER 镜像是谁写的 邮箱+姓名
RUN 镜像构建的时候需要运行的命令
ADD 例如:tomcat镜像这个tomcat压缩包 添加内容
WORKDIR 镜像的工作目录
VOLUME 挂载的目录
EXPOST 保留端口配置
CMD 指定这个容器启动时运行的命令 ,只有最后一个命令才会生效
ENTYPOINT 指定这个容器启动时运行的命令 追加
ONBUILD 当构建一个被继承DOckfile这个时候会运行ONBUILD的指令 触发指令
COPY 类似ADD将我们的文件拷贝到镜像中
ENV 构建时设置环境变量

实战测试

FROM centos
MAINTAINER jackz<email>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "-----end"
CMD /bin/bash
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值