在windows系统使用docker
1、常用命令
-
docker ps
-
docker images
-
docker save : 将指定镜像保存成 tar 文件,可供其他机器导入使用
docker save mytomcat:v1 -o /home/liuwenhao/images/mytomcat_v1.tar 将镜像mytomcat:v1 生成mytomcat_v1.tar保存在/home/liuwenhao/images/文件夹下 -
docker rmi -f nginx 删除镜像
导入tar文件到我们的镜像中:docker image load < nginx.tar -
docker search nginx 查询一下nginx有哪些版本的镜像
-
docker commit 3bd0eef03413 demo:v1.3 提交你刚才修改的镜像,新的镜像名称为demo,版本为v1.3
-
docker run -it -i表示交互式的,表示[cmd]是一个有用户输入的程序,比如/bin/bash 和 python;-t 产生一个终端
-
docker exec -it cc11100da4fa /bin/bash
-
docker run --rm 容器启动时设置–rm选项,这样在容器退出时就能够自动清理容器内部的文件系统
-
docker rm 容器id
-
docker stop 容器ID或容器名
-
docker kill 容器ID或容器名 :直接关闭容器
-
docker exec -it ID/NAMES ip addr
-
docker tag 02375e92d212 zatosource/quickstart:3.3 修改镜像名
-
docker rmi zatosource/quickstart:3.3 删除镜像
-
docker login
-
docker push 199110055013/yizhenfeng:tagname 上传镜像到dockerhub,这个是仓库名,本地也要改成一样,不然上传不了
-
docker network ls
-
docker network create --driver nat network-name
-
docker run -it -v /test:/soft centos /bin/bash 启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录
-
docker --restart=always 创建容器时没有添加参数 --restart=always ,导致的后果是:当 Docker 重启时,容器未能自动启动。 ,导致的后果是:当 Docker 重启时,容器未能自动启动。
-
docker cp
复制到容器:docker cp windows系统下的路径 实例:在实例中路径
docker cp /opt/software/temp/test/test.txt 688e83c55129:/test/
复制到主机:docker cp 实例:在实例中路径 windows系统下的路径
docker cp 688e83c55129:/test/test.txt /opt/software/temp/test/
2、dockerfile使用
为什么构建dockerfile?
因为目前的镜像不能满足我们的要求,比如说版本,因此需要自己创建一个镜像。
例如构建一个tomcat实例:
apache-tomcat-8.5.61.tar.gz
server-jre-8u271-linux-x64.tar.gz
#建立一个新的镜像文件,配置模板:意思就是我新建立的镜像是以centos为基础模板的。因为jdk必须运行在操作系统之上
from centos:7
#配置作者信息 作者名 作者邮箱
MAINTAINER test test@test.com
#切换镜像目录,进入/usr目录
WORKDIR /usr
#在/usr/下创建jdk目录,用来存放jdk文件
RUN mkdir jdk
#在/usr/下创建tomcat目录,用来存放tomcat
RUN mkdir tomcat
#将jdk压缩文件复制到镜像中,它将自动解压缩tar文件
ADD server-jre-8u271-linux-x64.tar.gz /usr
#创建同步链接 保持同步:ln -s 源文件 目标文件
RUN ln -s /usr/jdk1.8.0_271 /usr/jdk
#将jdk压缩文件复制到镜像中,它将自动解压缩tar文件
ADD apache-tomcat-8.5.61.tar.gz /usr
#创建同步链接 保持同步:ln -s 源文件 目标文件
RUN ln -s /usr/apache-tomcat-8.5.61 /usr/tomcat
#设置环境变量
ENV JAVA_HOME=/usr/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=/sbin:$JAVA_HOME/bin:$PATH
#公开端口
EXPOSE 8080
#设置启动命令
ENTRYPOINT ["/usr/tomcat/bin/catalina.sh","run"]
docker build
命令用于从Dockerfile构建映像,注意Dockerfile路径后面注意要加.
docker build -f E:\docker\tomcat_demo\Dockerfile .
docker build -t tomcat:1 .