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

相关推荐
codelife3213 分钟前
在Docker容器中执行命令
容器
神即道 道法自然 如来6 分钟前
Jenkins怎么设置每日自动执行构建任务?
运维·jenkins
petaexpress11 分钟前
常用的k8s容器网络模式有哪些?
网络·容器·kubernetes
hanniuniu1320 分钟前
详细解读,F5服务器负载均衡的技术优势
运维·服务器·负载均衡
鱼饼6号33 分钟前
Prometheus 上手指南
linux·运维·centos·prometheus
m0_609000422 小时前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作
小安运维日记3 小时前
Linux云计算 |【第四阶段】NOSQL-DAY1
linux·运维·redis·sql·云计算·nosql
m0_741768857 小时前
使用docker的小例子
运维·docker·容器
学习3人组7 小时前
CentOS 中配置 OpenJDK以及多版本管理
linux·运维·centos
厨 神8 小时前
vmware中的ubuntu系统扩容分区
linux·运维·ubuntu