daocker常用命令
- docker pull busybox      //pull  busybox镜像
- docker images       //查看有哪些镜像
- docker search pod-name     //搜索某个镜像
- docker run -d -p 8080:80 nginx   //启动一个监听8080端口的nginx镜像,镜像默认从docker hub上拉取,80是nginx镜像内部的监听端口
- docker logs imgID   //查看镜像日志
- docker container //管理容器
- docker inspect images_id  //查看镜像的详细信息,包含创建时间/执行的命令等
- docker history images_id  //查看镜像历史
- docker run -d nginx:1.17 //拉取并且自动运行
- docker pull nginx:1.16 //只做拉取操作
- docker rm nginx:1.17  //移除本地镜像
- docker info | grep "Docker Root Dir"   //查看docker数据存放位置
- docker image rm 9beeba249f3e  //删除镜像
- docker exec -it d2b0978092bd bash  //通过bash进入容器
- 
* docker容器管理
- docker stats  //查看容器使用资源
- docker update //更新容器配置
- docker update -m="500M" ede08ef49823  //更新容器配置
- docker cp nginx.tar png:/opt  //像容器内拷贝数据,png是容器名字
- docker container prune  //删除已停止的容器
- 
- 测试docker和宿主机的连通性
- docker pull busybox
- docker run -it busybox
- 进去docker后ping宿主机地址
Dockerfile指令说明
- FROM  //构建新镜像是基于哪个镜像
- LABEL   //标签
- RUN   //构建镜像时运行的shell命令
- COPY  //拷贝文件或目录到镜像中
- ADD  //解压压缩包并拷贝
- ENV  //设置环境变量
- USER //为RUN,CMD和ENTRYPOINT执行命令指定用户运行
- EXPOSE  //声明容器运行的服务端口
- WORKDIR //为RUN,CMD,ENTRYPOINT,COPY和ADD设置工作目录
- CMD  //运行容器时默认执行,如果有多个CMD指令,最后一个生效
- ENTRYPOINT  //如果与CMD一起用,CMD将作为ENTRYPOINT的默认参数,如果有多个ENTRYPOINT指令,最后一个生效
docker build
docker build -t centos:7 -f /opt/docker/dockerfile
-t --tag list  //镜像名称
-f --file string  //指定dockerfile文件位置
构建一个centos7的镜像
vim centosfile
FROM centos:7
LABEL maintainer luke
RUN yum install -y wget curl net-tools
COPY a.txt /opt
ADD b.tar /opt
ENV ABC1=1123
EXPOSE 80
WORKDIR /usr/local
CMD ["sleep","36000"] 
#CMD ["sh","-c","sleep 36000"]   //sleep可以是可执行文件,36000是参数,sh -c是指定当前shell,可以传递变量  sleep必须写绝对路径
#ENTRYPOINT /usr/bin/run.sh $NAME   //ENTRYPOINT和CMD同时存在的时候,CMD的值会作为ENTRYPOINT的参数
#ENRYPOINT ["echo"]
#CMD ["1","2"]  //最终结果为echo 1 2
docker build -t centos7 -f centos7_file .  //.代表要copy的文件在当前目录
docker入门
原文:https://blog.51cto.com/battlecto/2557122