Docker入门

  • A+
所属分类:linux技术
摘要

  * 测试docker和宿主机的连通性
* docker pull busybox
* docker run -it busybox
* 进去docker后ping宿主机地址


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的文件在当前目录