Docker镜像、容器、其他……等等命令

目录

一、镜像命令

1、docker images 查看镜像

1、语法:

2、解释:

3、docker images --help:

4、案例:

2、docker search 搜索镜像

1、语法:

2、解释:

3、docker search --help:

 4、案例:

3、docker pull 下载镜像

1、语法:

2、案例

4、docker rmi 删除镜像

二、容器命令

1、镜像下载

2、新建并启动容器

1、语法

2、参数

3、测试、启动并进入容器

4、容器启动中进入(重要)

3、查看容器

4、退出容器

5、删除容器

6、启动和停止容器的操作

三、常用其他命令

1、后台启动命令

1、命令:

2、案例:

2、查看日志

1、命令:

2、参数:

3、案例:

3、查看容器中进程信息ps

4、查看镜像的元数据

5、进入当前正在运行的容器

1、方式一(推荐):

2、方式二:

3、二者区别:

6、从容器内拷贝到主机上

1、命令:

2、案例:

8、帮助命令

四、小结:命令大全


一、镜像命令

语法

说明

docker images

# 查看所有本地主机上的镜像 可以使用docker image ls代替

docker search

# 搜索镜像

docker pull

# 下载镜像 docker image pull

docker rmi

# 删除镜像 docker image rm

docker system df

# 查看镜像/容器/数据卷所占的空间

1docker images 查看镜像

1、语法:

[root@Y ~]# docker images

REPOSITORY            TAG                 IMAGE ID            CREATED           SIZE

hello-world           latest              bf756fb1ae65        4 months ago     13.3kB

mysql                 5.7                 b84d68d0a7db        6 days ago       448MB

2、解释:

参数

说明

#REPOSITORY                

# 镜像的仓库源

#TAG                

# 镜像的标签(版本)                ---lastest 表示最新版本

#IMAGE ID                

# 镜像的id

#CREATED                

# 镜像的创建时间

#SIZE                        

# 镜像的大小

3docker images --help

参数

说明

-a, --all

Show all images (default hides intermediate images) #列出所有镜像

-q, --quiet

Only show numeric IDs # 只显示镜像的id

4、案例:

#列出所有镜像详细信息

[root@Y ~]# docker images -a 

#列出所有镜像的id

[root@Y ~]# docker images -aq

D5f28a0bb0d0

F19c56ce92a8

1b6b1fe7261e

1b6b1fe7261e

2docker search 搜索镜像

1、语法:

[root@Y ~]# docker search mysql

2、解释:

参数

说明

# --filter=STARS=3000

#过滤,搜索出来的镜像收藏STARS数量大于3000的

3docker search --help

参数

说明

-f, --filter filter

Filter output based on conditions provided

    --format string

Pretty-print search using a Go template

    --limit int

Max number of search results (default 25)

    --no-trunc

Don't truncate output

 4、案例:

[root@Y ~]# docker search mysql --filter=STARS=3000

NAME        DESCRIPTION         STARS            OFFICIAL        AUTOMATED

mysql       MySQL IS ...        9520             [OK]               

mariadb     MariaDB IS ...      3456             [OK]  

3docker pull 下载镜像

1、语法:

# 下载镜像    docker pull 镜像名[:tag版本]

[root@Y ~]# docker pull tomcat:8

2、案例

[root@Y ~]# docker pull tomcat

8: pulling from library/tomcat # 如果不写tag,默认就是latest

90fe46dd8199: Already exists   # 分层下载: docker image 的核心 联合文件系统

35a4f1977689: Already exists

bbc37f14aded: Already exists

74e27dc593d4: Already exists

93a01fbfad7f: Already exists

1478df405869: Pull complete

64f0dd11682b: Pull complete

68ff4e050d11: Pull complete

f576086003cf: Pull complete

3b72593ce10e: Pull complete

Digest: sha256:0c6234e7ec9d10ab32c06423ab829b32e3183ba5bf2620ee66de866df # 签名防伪

Status: Downloaded newer image for tomcat:8

docker.io/library/tomcat:8        #真实地址

 

# 等价

docker pull tomcat:8   =   docker pull docker.io/library/tomcat:8

4docker rmi 删除镜像

语法

案例

# 删除指定id的镜像   docker rmi -f 镜像id

[root@Y ~]# docker rmi -f f19c56ce92a8

# 删除全部的镜像       docker rmi -f $(docker images -aq)

[root@Y ~]# docker stop $(docker ps -a -q)

二、容器命令

说明:我们有了镜像才可以创建容器,Linux,下载centos镜像来学习

语法

说明

docker pull centos

# docker中下载centos

docker run 镜像id

# 新建容器并启动

docker ps

# 列出所有运行的容器和docker container list相同

docker rm 容器id

# 删除指定容器

docker start 容器id

# 启动容器

docker restart 容器id

# 重启容器

docker stop 容器id

# 停止当前正在运行的容器

docker kill 容器id

# 强制停止当前容器

1、镜像下载

docker pull centos

2、新建并启动容器

1、语法

docker run [可选参数] image | docker container run [可选参数] image

2、参数

参数

说明

--name="Name"

# 容器名字 tomcat01 tomcat02 用来区分容器

-d

# 后台方式运行

-it                 

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

-p

# 指定容器的端口

-p 8080(宿主机):8080(容器)

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

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

-p 容器端口

容器端口

-P(大写)

# 随机指定端口

3、测试、启动并进入容器

[root@Y ~]# docker run -it centos /bin/bash   # run it centos启动新建一个centos容器,/bin/bash给一个默认控制台

[root@241b5abce65e /]# ls

bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

[root@241b5abce65e /]# exit  # 从容器退回主机

Exit

 

4、容器启动中进入(重要)

[root@iZwz9fwomx3lwtrau6ixxfZ /]# docker exec -it mysql bash # 进入mysql(容器名)容器

root@e537a9efecc8:/# ls

bin  boot  dev        docker-entrypoint-initdb.d  entrypoint.sh  etc        home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

root@e537a9efecc8:/# exit  # 从容器退回主机

Exit

3、查看容器

语法

说明

docker ps

# 列出当前正在运行的容器

  -a, --all   

# 列出当前正在运行的容器 + 带出历史运行过的容器

  -l

# 列出最近启动的容器

  -n=?, --last int  

# 列出最近创建的?个容器 ?为1则只列出最近创建的一个容器,为2则列出2个

  -q, --quiet

# 只列出容器的编号

 

4、退出容器

语法

说明

exit                 

# 容器直接退出

ctrl +P +Q 

# 容器不停止退出

exit直接退出

Ctrl+P+Q不停止容器退出

5、删除容器

语法

说明

docker rm 容器id

# 删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -rf

docker rm -f $(docker ps -aq)

# 删除所有的容器

docker ps -a -q|xargs docker rm

# 删除所有的容器

6、启动和停止容器的操作

停止或者强行停止容器,都可以再次启动,通过docker ps -a找到历史的id在启动即可,但是删除容器就不能再次重启

语法

说明

docker start 容器id

# 启动容器

docker restart 容器id

# 重启容器

docker stop 容器id

# 停止当前正在运行的容器

docker kill 容器id

# 强制停止当前容器

三、常用其他命令

1、后台启动命令

1、命令:

# 问题docker ps. 发现centos 停止了
# 常见的坑,docker容器使用后台运行,就必须要有要一个前台进程,docker发现没有应用,就会自动停止
# nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
# 所以服务类的程序,我们需要后台启动
docker run -d 镜像名

2、案例:

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

a8f922c255859622ac45ce3a535b7a0e8253329be4756ed6e32265d2dd2fac6c

 

[root@iz2zeak7sgj6i7hrb2g862z ~]# docker ps   

CONTAINER ID      IMAGE       COMMAND    CREATED     STATUS   PORTS    NAMES

2、查看日志

1、命令:

docker logs -f 容器id

2、参数:

参数

说明

-tf                

# 显示日志信息(一直更新)

--tail number

# 需要显示日志条数

3、案例:

docker run -d centos /bin/sh -c "while true;do echo 6666;sleep 1;done"   # 模拟日志

docker logs -t --tail n 容器id   # 查看n行日志

docker logs -ft 容器id                  # 跟着日志

3、查看容器中进程信息ps

docker top 容器id

 

[root@Y ~]# docker top 51ce907d72b1

UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD

root                28107            28089              0                   10:48                 ?                   00:00:00            /bin/sh -c while true;do echo 666;sleep 1;done

root                28503            28107              0                   10:54                 ?                   00:00:00            /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1

4、查看镜像的元数据

docker inspect 容器id

 

[root@Y ~]# docker inspect 51ce907d72b1
……

5、进入当前正在运行的容器

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

1、方式一(推荐):

docker exec -it 容器id /bin/bash

 

[root@Y ~]# docker ps

CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES

51ce907d72b1   centos    "/bin/sh -c 'while t…"   13 minutes ago   Up 13 minutes             pedantic_lichterman

[root@Y ~]# docker exec -it 51ce907d72b1 /bin/bash

[root@51ce907d72b1 /]#

2、方式二:

docker attach 容器id

 

[root@Y ~]# docker attach 51ce907d72b1

正在执行当前的代码…

3、二者区别:

  • #docker exec     # 进入当前容器后开启一个新的终端,可以在里面操作。(常用)
  • #docker attach # 进入容器正在执行的终端

6、从容器内拷贝到主机上

1、命令:

docker cp 容器id:容器内路径  主机目的路径

2、案例:

# 1. 新建进入docker容器内部

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

[root@55321bcae33d /]# ls

bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

# 2. 新建一个文件

[root@55321bcae33d /]# echo "java" > hello.java

[root@55321bcae33d /]# cat hello.java

hello

[root@55321bcae33d /]# exit

Exit

# 3. hello.java拷贝到home文件加下

[root@Y /]# docker cp 56a5583b25b4:/hello.java /home

[root@Y /]# cd /home

[root@Y home]# ls -l        #可以看见java.java存在

total 8

-rw-r--r-- 1 root root    0 May 19 22:09 haust.java

-rw-r--r-- 1 root root    6 May 22 11:12 java.java

drwx------ 3 www  www  4096 May  8 12:14 www

 7导入和导出容器

  • export 导出容器的内容留作为一个tar归档文件[对应import命令]
  • docker export 容器ID > 文件名.tar
  • import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
  • cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

8、帮助命令

语法

说明

docker version/docker -v   

#显示docker的版本信息。

docker info      

#显示docker的系统信息,包括镜像和容器的数量

docker 命令 --help

#帮助命令

帮助文档的地址: docker build | Docker Documentation

.

四、小结:命令大全

  attach     

Attach local standard input, output, and error streams to a running container

# 当前shell attach连接指定运行的镜像

  build      

Build an image from a Dockerfile

# 通过Dockerfile定制镜像

  commit     

Create a new image from a container's changes

# 提交当前容器为新的镜像

  cp         

Copy files/folders between a container and the local filesystem

# 拷贝文件

  create     

Create a new container

# 创建一个新的容器

  diff       

Inspect changes to files or directories on a container's filesystem

# 查看docker容器的变化

  events     

Get real time events from the server

# 从服务获取容器实时时间

  exec       

Run a command in a running container

# 在运行中的容器上运行命令

  export     

Export a container's filesystem as a tar archive

# 导出容器文件系统作为一个tar归档文件[对应import]

  history    

Show the history of an image

# 展示一个镜像形成历史

  images     

List images

# 列出系统当前的镜像

  import     

Import the contents from a tarball to create a filesystem image

# tar包中导入内容创建一个文件系统镜像

  info       

Display system-wide information

# 显示全系统信息

  inspect    

Return low-level information on Docker objects

# 查看容器详细信息

  kill       

Kill one or more running containers

# kill指定docker容器

  load       

Load an image from a tar archive or STDIN

# 从一个tar包或标准输入中加载一个镜像[对应save]

  login      

Log in to a Docker registry

  logout     

Log out from a Docker registry

  logs       

Fetch the logs of a container

  pause      

Pause all processes within one or more containers

  port       

List port mappings or a specific mapping for the container

  ps         

List containers

  pull       

Pull an image or a repository from a registry

  push       

Push an image or a repository to a registry

  rename     

Rename a container

  restart    

Restart one or more containers

  rm         

Remove one or more containers

  rmi        

Remove one or more images

  run        

Run a command in a new container

  save       

Save one or more images to a tar archive (streamed to STDOUT by default)

  search     

Search the Docker Hub for images

  start      

Start one or more stopped containers

  stats      

Display a live stream of container(s) resource usage statistics

  stop       

Stop one or more running containers

  tag        

Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE

  top        

Display the running processes of a container

  unpause    

Unpause all processes within one or more containers

  update     

Update configuration of one or more containers

  version    

Show the Docker version information

  wait       

Block until one or more containers stop, then print their exit codes

 

猜你喜欢

转载自blog.csdn.net/qq_52906615/article/details/124748302
今日推荐