zl程序教程

您现在的位置是:首页 >  工具

当前栏目

【重识云原生】第六章容器6.1.3节——Docker常用命令

Docker容器 原生 常用命令 第六章 重识云 6.1
2023-06-13 09:11:14 时间

2 Docker常用命令

2.1 基础命令

docker version #查看docker的版本信息

docker info #查看docker的系统信息,包括镜像和容器的数量

docker 命令 --help #帮助命令(可查看可选的参数)

docker COMMAND --help

命令的帮助文档地址:https://docs.docker.com/engine/reference/commandline/docker/

2.2 镜像命令

2.2.1 docker images

查看本地主机的所有镜像

[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

hello-world latest bf756fb1ae65 11 months ago 13.3kB

#解释:

1.REPOSITORY 镜像的仓库源

2.TAG 镜像的标签

3.IMAGE ID 镜像的id

4.CREATED 镜像的创建时间

5.SIZE 镜像的大小

# 可选参数

    -a/--all 列出所有镜像

    -q/--quiet 只显示镜像的id

2.2.2 docker search搜索镜像

  docker search hello-world

2.2.3 docker pull 镜像名[:tag]

下载镜像

[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker pull mysql

Using default tag: latest #如果不写tag默认就是latest

latest: Pulling from library/mysql

6ec7b7d162b2: Pull complete #分层下载,docker image的核心-联合文件系统

fedd960d3481: Pull complete

7ab947313861: Pull complete

64f92f19e638: Pull complete

3e80b17bff96: Pull complete

014e976799f9: Pull complete

59ae84fee1b3: Pull complete

ffe10de703ea: Pull complete

657af6d90c83: Pull complete

98bfb480322c: Pull complete

6aa3859c4789: Pull complete

1ed875d851ef: Pull complete

Digest: sha256:78800e6d3f1b230e35275145e657b82c3fb02a27b2d8e76aac2f5e90c1c30873 #签名

Status: Downloaded newer image for mysql:latest

docker.io/library/mysql:latest #下载来源的真实地址 #docker pull mysql等价于docker pull docker.io/library/mysql:latest

指定版本下载

docker pull mysql:5.7

2.2.4 docker rmi

删除镜像

#1.删除指定的镜像id

[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker rmi -f 镜像id

#2.删除多个镜像id

[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker rmi -f 镜像id 镜像id 镜像id

#3.删除全部的镜像id

[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker rmi -f $(docker images -aq)

2.2.5 docker提交新的镜像

docker commit afcaf46e8305(容器id) centos-vim(自定义名)

1) 停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

2.3 容器命令

2.3.1 运行容器命令

说明:

docker run [可选参数] image

#参数说明 

   --name="名字" 指定容器名字

    -d 后台方式运行

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

    -p 指定容器的端口

    (

        -p ip:主机端口:容器端口 配置主机端口映射到容器端口

        -p 主机端口:容器端口

        -p 容器端口

    )

    -P 随机指定端口(大写的P)

2.3.2 进入容器命令

(1)使用docker attach命令

        使用docker attach db3 或者 docker attach d48b21a7e439

        db3是后台容器的NAMES,d48b21a7e439是容器的进程ID CONTAINER ID,然后就进去了这个容器的ssh界面。但是它有一个缺点,只要这个连接终止,或者使用了exit命令,容器就会退出后台运行。

(2)使用docker exec命令

        这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下:

docker exec -it db3 /bin/sh 或者 docker exec -it d48b21a7e439 /bin/sh

        db3是后台容器的NAMES,d48b21a7e439是容器的进程ID CONTAINER ID,/bin/sh 是固定写法。它也能进入这个容器。

2.3.3 退出容器命令

#exit 停止并退出容器(后台方式运行则仅退出)

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

[root@bd1b8900c547 /]# exit

exit

[root@iZwz99sm8v95sckz8bd2c4Z ~]#

2.3.4 列出运行过的容器命令

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

    -a # 列出所有容器的运行记录

    -n=? # 显示最近创建的n个容器

    -q # 只显示容器的编号

[root@iZwz99sm8v95sckz8bd2c4Z ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@iZwz99sm8v95sckz8bd2c4Z ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

bca129320bb5 centos "/bin/bash" 4 minutes ago Exited (0) 3 minutes ago optimistic_shtern bd1b8900c547 centos "/bin/bash" 6 minutes ago Exited (0) 5 minutes ago cool_tesla cf6adbf1b506 bf756fb1ae65 "/hello" 5 hours ago Exited (0) 5 hours ago optimistic_darwin

2.3.5 删除容器命令

docker rm 容器id #删除指定的容器,不能删除正在运行的容器,强制删除使用 rm -f

docker rm -f $(docker ps -aq) #删除所有的容器

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

2.3.6 启动和停止容器命令

docker start 容器id #启动容器

docker restart 容器id #重启容器

docker stop 容器id #停止当前运行的容器

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

1.启动docker容器

docker run -d -i -t /bin/bash

        上述命令执行某些命令回报错Failed to get D-Bus connection: Operation not permitted,可使用如下命令启动

docker run -d -i -t /usr/sbin/init

        这个时候,我们使用docker ps命令,我们就可以知道哪些程序在后台运行。

参考链接

docker 常用命令总结_toforu的博客-CSDN博客_docker常用命令

九、Dockerfile 语法与指令

聊聊Docker理论知识(二) - 小水滴18 - 博客园

Docker与Kubernetes系列(一): Docker的基本概念_沈鸿斌的博客-CSDN博客_docker kubernet

Docker与Kubernetes系列(二): Docker的基本用法_沈鸿斌的博客-CSDN博客

docker容器技术入门知识及思维导图_adorable_的博客-CSDN博客_docker学习思维导图