docker入门命令

160 阅读2分钟

帮助命令

docker version #版本
docker info #系统信息,包括镜像和容器数量
docker 命令名称 --help   #帮助命令

镜像命令

docker images # 查看本地主机上的镜像
docker search 镜像名称  # 搜索镜像
docker pull 镜像名称  # 下载镜像
docker rmi 镜像id  # 删除镜像

容器命令

docker run 镜像id  #新建容器并启动
docker ps #列出所有运行的容器
docker rm 容器id  #删除指定容器
docker start 容器id #删除指定容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id  # 强制停止当前容器
exit # 从容器中退出到主机
ctrl+ p + q  #容器不停止 退出
docker run -it 容器名称 /bin/bash #启动 并进入容器内部
docker run -d 容器名称 #后台启动容器
docker top 容器id  # 查看容器进程中ps

其他命令

docker inspect 容器id # 查看镜像的元数据 
docker ps # 查看当前正在运行的容器
docker exec -it 容器id /bin/bash # 进入当前正在运行的容器 以重新开启一个终端的形式
docker commit -m = "描述信息" -a="作者" 容器id 目标镜像名:[tag] #提交容器作为一个新的副本,保存当前容器状态

数据卷

在启动容器的时候可以指定主机中位置和容器中位置相互关联。

功能:实现容器内数据和主机数据的互通。相当于linux中的硬连接。

docker run -it -v 主机目录:容器目录 -p 主机端口:容器内端口 

这样以后修改本地文件内容,容器内会自动同步。

匿名挂载

-v 容器内路径  #不指定卷的名称

具名挂载

docker run -d --name 自定义容器名字 -v 卷名字:容器内路径 容器本身名字   #指定卷的名字
docker volume inspect 卷的具体名字 # 查看卷信息

指定路径挂载

默认挂载主机的地址是在/var/lib/docker/volumes/xxxx/_data下的,docker volume ls查看的也是这个目录下的卷信息。

docker -v /主机路径:容器路径 #使用这种方式,docker volume ls 查看不到卷信息

数据卷容器

多个容器间数据共享。

--volumes-from 之前的某个容器名称  #将容器挂载到具体的容器中,可以实现容器间数据共享

dockerFile --构建docker镜像的命令脚本

    构建步骤:
        1.编写dockerFile文件
        2.docker build 构建 称为一个镜像
        3.docker run 运行镜像
        4.docker push 发布镜像(dockerhub,阿里云仓库)

springboot项目整合docker

编写Dockerfile文件(D要大写)

FROM openjdk:8
WORKDIR /home/test
COPY aaa.jar /home/test
EXPOSE 9999
ENTRYPOINT ["java","-jar"]
CMD ["aaa.jar"]
注意还要启动mysql。
在打包jar之前要把mysql的url改成虚拟机的地址。

之后就按照上面的步骤执行就可以啦。