一、docker 镜像常用命令
1.启动docker
sudo systemctl start docker 2.查看docker版本 docker version 3.卸载docker软件版 sudo yum -y remove docker-engine 4.删除镜像、容器、卷以及自定义配置文件 sudo rm -rf /var/lib/docker 5.搜索存放在Docker Hub上的镜像 docker search java 6.拉去镜像 docker pull java dokcer pull 镜像地址以及标签 7.列出已经下载的镜像 docker images 8.删除本地镜像 docker rmi 镜像名称 9.强制删除本地镜像 docker rmi -f $(dokcer images)二、docker 容器常用命令
1.新建并启动容器
docker run 镜像名 可配参数: -d 后台运行,-P 随机端口映射,-p 指定端口映射eg: hostPort:containerPort ,--network 指定网络模式,--name 指定容器名称 这里运行是先检查本地是否有镜像,没有就从仓库下载镜像并启动。 2.列出容器 docker ps 参数 -a 列出所有容器,包括没有运行的。dokcer ps -a3.停止容器
docker stop 容器id/容器名称 4.强制停止容器 docker kill 容器id/容器名称 5.重启容器 docker restart 容器id/容器名称 6.进入容器 docker attach 容器id/容器名称 7.删除容器 docker rm 容器id/容器名称 9删除所有容器 docker rm -f $(docker ps -a -q)三、使用Dockerfile 构建Docker镜像
1.Dockerfile介绍 Dockerfile就是一个记录了构建镜像的命令的文本文件。 2.Dockerfile指令 FROM: 指定基础镜像。格式:FROM image , FROM image:tag , FROM image RUN: 执行命令。格式: RUN command ADD: 复制文件。 格式:ADD src dest 或者 ADD ['src','dest'] 注意:a.src必须在构建的上下文内,不能使用像ADD ../path /path的方式。 b.src可以是一个URL,同时dest不是以斜杠结尾,dest会被当作文件,内容会下载到dest中。 c.如果src是一个URL,同时dest是以反斜杠为,dest会被当作目录使用。 d.如果src是目录,将会复制整个目录。 e.如果文件是可识别的压缩格式,docker会自动解压。 ARG: 设置构建参数。格式:ARG 参数名=参数值。用作构建时的参数,而不是容器运行时的参数 CMD:容器启动命令。格式:CMD ["executable","param1","param2"] COPY: 复制文件。 格式:COPY src dest 或者 COPY['src','dest'] 注意:不支持URL和压缩包 ENTRYPOINT:容器启动时执行的命令。格式:ENTRYPOINT ["executable","param1","param2"] ENV:设置环境变量。 格式:ENV key value, eg:ENV JAVA_HOME /path/java EXPOSE: 声明暴露的端口号。此端口不会自动启用,这里只是声明。 LABEL: 为镜像添加元数据。格式: LABEL key=value key=value ... MAINTAINER: 指定维护者信息。格式MAINTAINER name , eg: MAINTAINER lzy<lzy@163.com> VOLUME: 指定挂载点。格式: VALUME 目录。 该指令能试容器的数据具有持久化的能力,挂载后,数据是存储 在宿主主机上。 WORKDIR: 指定工作目录。 格式:WORKDIR 目录3.Dockerfile 例子
FROM nginx:1.13.0-alpine RUN echo '<h1>Hello, Docker! dockerfile</h1>' > /usr/share/nginx/html/index.html 4.使用Dockerfile构建镜像 docker build -t nginx:my . 这条命令要在Dockerfile文件路径下执行,命令最后的(.)用户路径参数传递,标识当前路径 5.查看构建的镜像 docker images 6.运行创建的镜像 docker run -d -p 92:80 nginx:my 7.浏览器访问ip:92/即可查看效果