Docker的常用命令

帮助命令

docker version            

docker info

docker  命令 --help          #帮助命令

命令帮助文档地址:docker帮助文档地址

镜像命令

镜像

[root@test5 ~]# docker images

REPOSITORY      TAG           IMAGE ID               CREATED                  SIZE

hello-world           latest           bf756fb1ae65          12 months ago          13.3kB


Options:

-a, --all          Show all images (default hides intermediate images)

--digests Show digests

-f,--filter filter Filter output based on conditions provided

    --format string Pretty-print images using a Go template

    --no-trunc Don't truncate output

-q, --quiet          Only show image IDs


REPOSITORY            镜像的仓库源

TAG                             镜像的标签

 IMAGE ID                   镜像的ID

CREATED                    镜像的创建时间

SIZE                             镜像的大小

#可选项

-a, --all                         显示所有镜像

-q, --quiet                     只显示镜像id


搜索

[root@test5 ~]# docker search mysql

NAME      DESCRIPTION                                                            STARS              OFFICIAL          AUTOMATED

mysql       MySQL is a widely used, open-source relation…      10380                  [OK]

mariadb    MariaDB is a community-developed fork of MyS…    3848                   [OK]

#可选项

--filter=STARS=3000            过滤STARS大于3000的

下载镜像

[root@test5 ~]# docker pull mysql                    #默认最新版本

[root@test5 ~]# docker pull mysql:8.0.23         #下载MYSQL8.0.23版本

8.0.23: Pulling from library/mysql                      #分层下载,docker image的核心,联合文件系统

a076a628af6f: Pull complete                    

f6c208f3f991: Pull complete

88a9455a9165: Pull complete

406c9b8427c6: Pull complete

7c88599c0b25: Pull complete

25b5c6debdaf: Pull complete

43a5816f1617: Pull complete

1a8c919e89bf: Pull complete

9f3cf4bd1a07: Pull complete

80539cea118d: Pull complete

201b3cad54ce: Pull complete

944ba37e1c06: Pull complete

Digest: sha256:feada149cb8ff54eade1336da7c1d080c4a1c7ed82b5e320efb5beebed85ae8c        #签名

Status: Downloaded newer image for mysql:8.0.23            

docker.io/library/mysql:8.0.23             #真实地址

删除镜像

[root@test5 ~]# docker rmi -f c8562eaf9d81        #根据id删除,也可根据名称删除(删除多个各id中间加空格)

容器命令

有了镜像才能创建容器,linux,下载一个centos镜像学习并测试

docker pull centos;


docker run [可选参数] image

# 参数说明

--name "Name"            容器名字: tomcat01 tomcat02用来区分容器

-d                                 后台方式运行

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

-p                                 指定容器端口 -p 8080:8080   (-p 主机端口:容器端口)(-p容器端口)(-p ip:主机端口:容器端口)


[root@test5 ~]# docker run -it centos /bin/bash

[root@44b833922b8f /]#                #此处就是linux里的linux.

[root@44b833922b8f /]# exit         #停止并退出,回到主机

 ctrl+P+Q                                        #容器不停止并退出,回到主机

列出所有正在运行的容器(下面没有容器在运行)

 [root@test5 ~]# docker ps         

 CONTAINER     ID     IMAGE     COMMAND     CREATED     STATUS     PORTS     NAMES

 [root@test5 ~]# docker ps -a          #查看曾经运行过的容器

#        可选项

-a            列出当前正在运行的容器+带出历史运行的容器

-n=?        显示最近创建的容器 (-n=1 只显示最近的1个容器)

-q            只显示容器的编号跟镜像一样。或-aq

删除容器

docker rm 容器id

docker ps -a -q|xargs docker rm        #删除所有的容器

启动和停止容器

docker start 容器id                    #启动容器

docker restart 容器id                 #重启容器

docker stop 容器id                    #停止容器

docker kill 容器id                       #强制停止当前容器

常用其他命令

后台启动

    [root@test5 ~]# docker run -d centos     

#上面执行完在执行docker ps 发现并没有centos,这是docker容器使用后台运行时就必须要有一个前台进程,所有容器启动后发现自己没有提供服务,就会立刻停止,就是没有程序了

查看日志

docker logs -tf --tail  10 容器                #     -tf   显示日志,--tail number 显示日志条数 

查看容器中的进程信息

docker top 容器id                                #

查看镜像源数据

docker inspect 容器id

进入当前正在运行的容器

#容器通常都是后台方式运行的,需要进入容器,修改一些配置

方式一:docker exec -it 容器id              #    此方式进入容器后开启一个新的终端(常用)

方式二:docker attach  容器id               #    进入容器正在执行的终端

从容器拷贝文件到主机上

docker cp 容器id:目录路径/文件名  拷贝到主机的目录

如:docker cp c23ede725f7c:/home/test.java /home



你可能感兴趣的:(Docker的常用命令)