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)html
1.新建并启动容器
docker run 镜像名
可配参数: -d 后台运行,-P 随机端口映射,-p 指定端口映射eg: hostPort:containerPort ,--network 指定网络模式,--name 指定容器名称
这里运行是先检查本地是否有镜像,没有就从仓库下载镜像并启动。
2.列出容器
docker ps
参数 -a 列出全部容器,包括没有运行的。dokcer ps -ajava
3.中止容器
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)nginx
1.Dockerfile介绍
Dockerfile就是一个记录了构建镜像的命令的文本文件。
2.Dockerfile指令
FROM: 指定基础镜像。格式:FROM image , FROM image:tag , FROM image@digest
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 目录
docker
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/便可查看效果浏览器