Docker-命令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

提示:详细内容查看黑马程序员教程:

• Docker 是一个开源的应用容器引擎

• 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)

• Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上。

• 容器是完全使用沙箱机制,相互隔离

• 容器性能开销极低。

• Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)


提示:重点理解docker架构。特别是镜像、容器概念

一、Docker架构

镜像(Image):Docker镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统

容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等

仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像

二、Docker进程相关命令

(一)启动 docker 服务

c 复制代码
systemctl start docker

(二)重启 docker 服务

c 复制代码
systemctl restart docker

(三)停止 docker 服务

c 复制代码
systemctl stop docker

(四)查看 docker 服务状态

c 复制代码
systemctl status docker

(五)设置开机启动 docker 服务

c 复制代码
systemctl enable docker

三、Docker 镜像相关命令

(一)查看镜像

查看本地所有镜像

c 复制代码
docker images
docker images -q #查看所有镜像的id

各个选项说明:

REPOSITORY: 表示镜像的仓库源

TAG : 镜像的标签

IMAGE ID : 镜像ID

CREATED : 镜像创建时间

SIZE : 镜像大小

(二)搜索镜像

从网络中查找需要的镜像

c 复制代码
docker search 镜像名称

例如:查询mysql 镜像

c 复制代码
docker search mysql

(三)拉取镜像

c 复制代码
docker pull 镜像名称
docker pull mysql #拉取mysql镜像,没指定版本号,默认最新版本镜像

(四)删除镜像

删除本地镜像

c 复制代码
docker rmi 镜像id
docker rmi -f 镜像名/镜像ID

#批量删除镜像
docker rmi $(docker images -aq)
docker rmi 'docker images -aq'

(五)保存镜像

在/root 目录下有个test文件,将mysql的镜像文件打包成tar包保存

c 复制代码
docker save -o [保存路径/镜像文件名].tar [镜像名]:[标签]

在/root 目录下有个test文件,将mysql的镜像文件打包成tar包保存

c 复制代码
docker save -o /root/test/mysql.tar mysql:latest

(六)加载镜像

c 复制代码
docker load -i [镜像文件名].tar

将上述的mysql.tar镜像文件包,加载成镜像

c 复制代码
docker load -i mysql.tar

四、Docker 容器相关命令

(一)查看容器

1、查看正在运行的容器

c 复制代码
docker ps 

2、查看所有的容器

正在运行的容器和已停止运行的容器

c 复制代码
docker ps -a

3、查看最近运行的两个

c 复制代码
docker ps -a -n=2

4、查看正在运行的容器的id

c 复制代码
docker ps -q

5、查看所有容器的id

c 复制代码
docker ps -aq

6、查看容器内部进程

c 复制代码
docker top <容器id或名称> bash

7、与容器内部进行交互

c 复制代码
docker exec -it <容器id或名称> bash

8、查询最后一次创建的容器

c 复制代码
docker ps -l

(二)查看容器日志

1、查看容器运行日志

c 复制代码
docker logs <容器id或名称>

2、实时展示容器日志

c 复制代码
docker logs -f <容器id或名称>

3、加入时间戳展示日志

c 复制代码
docker logs -tf <容器id或名称>

4、查看最后n行日志

c 复制代码
docker logs --tail 5 <容器id或名称>

(三)启动容器

1、docker 启动一个容器

c 复制代码
docker run -it <镜像名称> /bin/bash
docker run -it ubuntu /bin/bash  #启动ubuntu镜像
参数说明:
-i:交互式操作
-t:终端

2、启动已停止运行的容器

c 复制代码
docker start <容器id>

3、重启一个容器

c 复制代码
docker restart <容器id>

4、启动容器并将容器挂载后台运行

c 复制代码
docker run -itd --name ubuntu-test ubuntu /bin/bash ##启动一个ubuntu容器
参数说明:
-d:默认不会进入容器

5、启动容器映射端口号,后台启动,指定容器名称

c 复制代码
docker run -p 8080:8080 --name 容器名称 -d 镜像名称:版本号

(四)停止容器

1、停止

c 复制代码
docker stop <容器名称或者容器id>

2、杀死一个容器

c 复制代码
docker kill <容器名称或者容器id>

3、停止全部容器

c 复制代码
docker stop $(docker ps -a -q)

(五)删除容器

c 复制代码
docker rm <容器id或者名称>
docker rm -f <容器id或者名称>
docker rm -f $(docker ps -aq) #删除全部容器

(六)进入容器内部

1、进入容器后,退出容器,容器停止

c 复制代码
docker attach <容器id>

2、进入容器后,退出容器,不会导致容器停止

c 复制代码
docker exec <容器id>
docker exec <容器id> /bin/bash

(七)退出容器内部

c 复制代码
exit

再加上一份图,展示命令使用过程

五、Docker-Compose命令

(一)启动服务

c 复制代码
docker-compose up
启动服务,服务在后台运行
docker-compose up -d

(二)停止服务

c 复制代码
docker-compose down

(三)构建服务

c 复制代码
docker-compose build

(四)查看服务日志

c 复制代码
docker-compose logs

# 实时跟踪日志
docker-compose logs -f

(五)查看正在运行的服务

c 复制代码
docker-compose ps

(六)删除所有服务容器

c 复制代码
docker-compose down --volumes

总结

以上就是我们安装docker后会经常使用的命令,然后就是理解 镜像 、容器和服务三者之间的关系。至于仓库很好理解,就是存放镜像的地址,仓库分为官方公共镜像仓库和私有镜像仓库,私有镜像仓库需要身份认证后才能拉取镜像文件。

相关推荐
weixin_4143219812 分钟前
Linux 编译Ubuntu24内核
linux·运维·服务器
北'辰3 小时前
使用ENSP实现默认路由
运维·网络
北'辰3 小时前
使用ENSP实现静态路由
运维·网络
程序员奇奥3 小时前
CentOS操作系统下安装Nacos
linux·运维·centos
wenyue11214 小时前
Enhancing K8s Gateway API with Easegress Without Changing a Single Line of Code
容器·kubernetes·gateway
爱学习 爱分享4 小时前
Docker 数据卷 和 挂载 的区别
docker
Who_Mr.Lin5 小时前
【虚拟机】VMWare的CentOS虚拟机断电或强制关机出现问题
linux·运维·centos
hap07285 小时前
在Docker中部署osrm-backend
docker·容器·云计算
我是唐青枫5 小时前
Linux nc 命令详解
linux·运维·服务器
ejinxian5 小时前
Windows 系统上构建 Linux 应用
linux·运维·服务器·red hat