docker命令整理

Posted hjma

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker命令整理相关的知识,希望对你有一定的参考价值。

#查看docker 版本

docker version

 

#查看 docker 详细信息

docker info

 

#查看docker命令帮助

docker --help

 

#查看docker 模块命令帮助

docker images --help

 

#查看docker镜像

docker -images

  Docker images -a         //查看全部镜像

          -q         //查看镜像id

          -f         //添加条件过滤

  

#docker搜索mysql ( 网站搜索是dockerhub

docker search mysql

#下载mysql  镜像

docker pull mysql

//等价于

docker pull docker.io/library/mysql:latest

 

#删除docker 镜像

//删除指定镜像

docker rmi -f 9cfcce23593a

//删除全部镜像

docker rmi -f $(docker images -aq)

 

 

==========================================================================容器操作======================================================================================

 

 

#新建容器并启动

docker run  [可选参数] image

 

#容器参数说明

    —name=“name” 容器名字  Tomcat01 tomcat02 用来区分容器

    -d.                         后台方式运行

    -it                         使用交互方式运行,进入容器产看内容

    -P                         指定容器的端口 -P 8080:8080

 

         -p ip:主机端口:容器端口

         -p 主机端口:容器端口(常用)

         -p 容器端口

            容器端口

 

#交互方式启动-it 进入容器

docker run -it centos /bin/bash

 

#挂载例子:centos容器中的home文件夹反射到 liunx中home/ceshi 文件夹

docker run -it -v /home/ceshi:/home centos /bin/bash

 

#通过容器id查看文件中是否有挂载

docker inspect d5a698a86850

//挂载是否成功显示

"Mounts": [

            {

                "Type": "bind",

                "Source": "/home/ceshi",

                "Destination": "/home",

                "Mode": "",

                "RW": true,

                "Propagation": "rprivate"

            }

        ],

 

#列出当前容器

Docker ps 

          -a      //列出当前正在运行的容器,和历史运行的容器

          -q      //只显示容器的编号

          -n      //最近的容器

 

#删除容器

//删除指定容器

docker rm 容器id

//删除所有的容器

docker rm -f $(docker ps -aq)

 

#启动和停止容器操作

docker start 容器id

docker restart 容器id

docker stop 容器id

docker kill 容器id

 

#例子

//启动tamcat并修改端口和名字

docker run -d -p 3355:8080 --name tomcat01 tomcat

//外网测试访问 报404
http://49.233.163.24:3355/

//进入Tomcat查看
docker exec -it tomcat01 /bin/bash
 

//发现问题1.linux命令少了 2.没有webapps 阿里云镜像的原因,默认最小是镜像,所有不必要的都剔除掉,保证最小可运行。

//把webapps.dist/* 复制到webapps文件中

cp -r  webapps.dist/* webapps

 

#例子:Mysql启动和挂载和映射

docker run -d -p 3306:3306 -v/home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qwer1234 mysql

 

#例子:springboot项目打包成镜像并运行

1、liunx文件/home 放入要打包的项目文件夹  文件夹中放两个文件
技术图片

 Dockerfile 文件内容

FROM java:8
VOLUME /tmp
ADD my-site-1.0.0.RELEASE.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

 

2. 在 mysite文件夹中的打包成镜像的命令

docker build -t 要打包镜像的名字 .

 

3.启动镜像

docker run -d -p 8080:8080 镜像的名字

 

4.如果不成功 通过容器id查看容器近30分钟的log

docker logs --since 30m 78b08c7974b1

 

 

 

以上是关于docker命令整理的主要内容,如果未能解决你的问题,请参考以下文章

docker命令整理

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

docker 常用命令整理

docker 常用命令整理

docker 常用操作命令整理

Docker常用命令整理