docker常用命令以及dockerfile使用

一、docker信息类
# docker -v 查看docker版本信息
 
二、docker镜像常见操作
# docker images 查看可以使用的所有镜像
# docker load < wdwtest.tar 导入镜像
# docker pull 10.243.16.17:5000/test:4.0 从镜像仓库中拉取镜像
# docker tag 10.243.16.17:5000/test:4.0 wdw:1.0 镜像打标签
# docker push 10.243.16.17:5000/test:4.0 将本地docker中的镜像推送到镜像仓库中
# docker save -o wdwtest.tar 10.243.16.17:5000/centos7.2tomcat:7.5 导出镜像到本地
# docker rmi 10.243.16.17:5000/centos7.2tomcat:7.5 通过镜像名 删除镜像
docker rmi a3f85b18c434 通过镜像id删除镜像
 
 
三、docker容器常见操作
# docker ps 查看目前正在运行的容器
# docker ps -a 查看已创建的所有容器
# docker run -it 80f16c3da1a6(镜像id) '/bin/sh' 在前台运行一个容器
# docker run -itd 80f16c3da1a6(镜像id) '/bin/sh' 在后台运行一个容器
# docker exec -it 1a54a825ffe1(容器id) '/bin/sh' 登录进一个正在运行的容器中
# docker logs 1a54a825ffe1(容器id) 查看容器的实时运行日志
# docker rm 49b4596345b4(容器id) 删除容器
# docker kill 49b4596345b4(容器id) kill正在运行的容器
# docker start 49b4596345b4(容器id) 重新运行一个已经停止的容器
 
四、docker镜像制作
# docker commit 1a54a825ffe1(容器id) wdw12345:1.0 将一个容器提交为镜像
 
#通过Dockerfile制作镜像
 
Dockerfile分为四部分组成:基础镜像信、维护者信息、镜像操作指令和容器启动时执行指令。举个栗子:
FROM 10.243.16.17:5000/centos7.2jdk:1.8.0.121
MAINTAINER wangdw
RUN mkdir /usr/local/tomcat
ADD ./tomcat2.tar /usr/local/tomcat
CMD /usr/local/tomcat/bin/catalina.sh run
 
1、FROM指令
DockerFile第一条必须为From指令,指定基础镜像
2、MAINTAINER
指定维护者信息
3.RUN
每条run指令在当前基础镜像执行,并且提交新镜像
4.CMD
每个容器只能执行一条CMD命令,多个CMD命令时,只最后一条被执行
5.EXPOSE
暴露镜像的端口到宿主机上
例:EXPOSE 22 80
6.ENV
指定一个环境变量,会被后续 RUN 指令使用,并在容器运行时保持
7.ADD
复制宿主机上指定的文件到容器中指定的目录中 。 其中 可以是Dockerfile所在目录的一个相对路径,还可以是一个tar文件(自动解压为目录)
8.COPY
复制宿主机上的文件到容器中的指定目录下
9.ENTRYPOINT
配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖
每个Dockerfile中只能有一个 ENTRYPOINT ,当指定多个时,只有最后一个起效
10.VOLUME
格式为 VOLUME [“/data”]
创建一个可以从宿主机挂载的挂载点
11.USER
格式为 USER username
指定运行容器时的用户名或UID,后续的 RUN 也会使用指定用户
当服务不需要管理员权限时,可以通过该命令指定运行用户
12.WORKDIR
格式为 WORKDIR /path/to/workdir
为后续的 RUN 、 CMD 、 ENTRYPOINT 指令配置工作目录。
可以使用多个 WORKDIR 指令,后续命令如果参数是相对路径,则会基于之前命令指定的路径
 
 
通过Docker Build 创建镜像
-t 可以指定生成镜像的标签,/root/dockerfile为Dockerfile所在的目录
docker build -t 10.243.16.17:5000/centos7.2tomcat:7.8 /root/dockerfile

没有更多推荐了,返回首页