【云原生·Docker】常用命令

简介: 【云原生·Docker】常用命令

       本篇文章对你或许比较枯燥,但是学docker的前提就是要知道基础命令。一个命令往往有很多个参数,一种参数一种用途,本篇将针对常用命令重点讲解,可收藏保存以备不时之需。

       学习命令前,你要先了解docker的三个概念。

打包:把服务运行所需的依赖、第三方库、打包成一个安装包。

分发:把你打包好的安装包上传到一个镜像仓库,其他人可以很方便的安装部署。

部署:使用分发下来的安装包,一条命令就可以运行起来,自动模拟出一模一样的运行环境,不管是在 Windows/Mac/Linux。

1、管理命令

1. systemctl start docker           #启动docker
2. systemctl stop docker            #关闭docker
3. systemctl restart docker         #重启docker
4. systemctl enable docker          #开机自启
5. systemctl status docker          #查看运行状态
6. docker kill 容器id               #强制停止当前容器
7. docker pause 容器id              #挂起容器
8. docker unpause 容器id            #恢复挂起
9. docker commit 容器id 镜像名       #把容器制作成镜像
10. docker volume ls                 #查看 volume 列表
11. docker network ls                #查看网络列表

2、帮助命令

1. docker --help                   #帮助命令
2. docker version                  #查看版本信息
3. docker info                     #查看版本信息

帮助文档的地址:docker

3、镜像命令

镜像:可以理解为软件安装包,方便进行传播和安装。

1. docker images           #查看本地主机上的镜像(-a:列出所有镜像;-q:只显示镜像id;-aq:显示所有镜像的id)
2. docker search nginx     #搜索nginx镜像(--filter=STARS=3000  搜索出来的镜像就是starts 大于等于3000的,用来过滤下载数量)
3. docker pull nginx       #下载nginx镜像(默认为最新版,如需指定版本:docker pull nginx:1.21.0)
4. docker rmi {服务名|ID}   #删除镜像(-f选项强制删除;删除多个镜像用空格分隔)
5. docker rmi -f $(docker images -aq)          #删除全部镜像

下载nginx镜像并查看

1. [root@doc ~]# docker pull nginx
2. [root@doc ~]# docker images
3. REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
4. nginx        latest    605c77e624dd   14 months ago   141MB
REPOSITORY TAG IMAGE ID CREATED SIZE
镜像的仓库源 镜像标签 镜像ID 镜像创建的时间 镜像大小

4、容器命令

       容器:软件安装后的状态,每个运行环境都是独立的、隔离的。可以理解为有很多个房间,而每一个房间只有一种物品,这种物品又是独一无二的,这种称之为容器。

4.1.查看容器

1. docker ps [参数]             # 列出当前正在运行的容器(等同于docker container list)
2.         -a                  # 带出历史运行过的容器
3.         -q                  # 只显示容器的编号

4.2.创建容器

1. docker run [参数] 镜像名
2. # 参数说明
3.     --name="Name"     容器名字   tomcat01   tomcat02,  用来区分容器
4.     -i                运行容器
5.     -d                后台方式运行
6.     -t                启动容器后自动进入命令行
7.     -it               使用交互方式运行,进入容器查看
8.     -id               使用守护方式运行,不进入容器查看
9.     -p                指定容器的端口 -p  8080:8080
10.     -p                ip:主机端口:容器端口
11.     -p                主机端口:容器端口(常用)
12.     -p                容器端口(随机映射到外部端口,一般32000+)
13.     -P                随机映射端口(大写)

案例:

1. 1.创建容器my_web1、2,nginx为最新版,启动环境/bin/bash 
2. docker run -it --name=my_web1 nginx:latest /bin/bash            #创建并启动容器(交互式)使用exit退出容器,从容器中退回主机,容器关闭(想要容器持续运行,添加参数-d)
3. docker run -id --name=my_web2 nginx:latest /bin/bash            #创建容器但不启动(守护式)
4. docker exec -it my_web2 /bin/bash                               #登录容器
5. 2.创建容器,指定端口和随机端口映射
6. docker run -d --name web1 -p 8080:80 nginx /bin/bash            #指定端口映射
7. docker run -d --name web2 -p 8081:80 nginx /bin/bash            #指定端口映射
8. docker run -d --name web3 -p 80 nginx  /bin/bash                #随机映射端口
9. docker run -d --name web4 -P nginx  /bin/bash                   #随机映射端口

4.3.删除容器

1. docker rm {容器id|容器名}                                 # 删除指定容器,不能删除正在运行的容器,如果要强制删除添加-f选项  
2. docker rm -f $(docker ps -aq)                           # 删除所有的容器
3. docker ps -a -q | xargs docker rm -f                    # 删除所有的容器

4.4.拷贝文件

1. docker cp 需要拷贝的文件或目录 容器名称:容器目录          #把宿主机的文件拷贝到容器里
2. docker cp 容器名称:容器目录 需要拷贝的文件或目录          #从容器中拷贝文件到宿主机

4.5.查看容器IP

docker inspect 容器id

5、部署服务

要求:使用centos安装nginx等,并制作成镜像。

1. [root@doc ~]# docker search centos      #搜索镜像
2. [root@doc ~]# docker pull centos:7      #拉取镜像

        下图内容提示下载镜像成功。

        使用命令查看下载的镜像、版本、ID等信息。

        守护式创建名为nginx1的容器,映射端口号80。

1. [root@doc ~]# docker run -itd --name nginx1 -p 80:80 centos:7 /bin/bash
2. 0d97dd210fd5cd151560744694dcc09d5d56ac960741bb91109d9fad4788ff9e
3. [root@doc ~]# docker exec -it nginx1 /bin/bash
4. [root@c280bd02a56b /]#                  #登录成功

        创建好容器后,下载nginx服务,以及所需的工具,通过commit命令制作成镜像,下次需要使用nginx服务使用nginx_v1镜像,直接就可以创建了。

1. [root@c280bd02a56b /]# yum -y install epel-release                          #下载epel源
2. [root@c280bd02a56b /]# yum -y install vim net-tolls nginx                   #下载工具及网站服务
3. [root@doc ~]# docker commit nginx1 nginx_v1                                 #把nginx1容器制作成镜像,镜像名为nginx_v1    
4. sha256:8ac8aab96ad07a4d75852ebd96adf8622b2045aa263c94b35be44e6b11485180


相关文章
|
7天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
30 2
|
5天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
27天前
|
安全 Docker 容器
|
27天前
|
网络安全 数据安全/隐私保护 Docker
|
25天前
|
存储 监控 安全
|
23天前
|
Kubernetes Cloud Native 开发者
云原生技术入门:Kubernetes和Docker的协作之旅
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,引领读者步入云原生的世界,着重介绍Kubernetes和Docker如何携手打造弹性、可扩展的云环境。我们将从基础概念入手,逐步深入到它们在实际场景中的应用,以及如何简化部署和管理过程。文章不仅为初学者提供入门指南,还为有一定基础的开发者提供实践参考,共同探索云原生技术的无限可能。
33 3
|
25天前
|
存储 关系型数据库 MySQL
|
29天前
|
Kubernetes Cloud Native 开发者
探秘云原生计算:Kubernetes与Docker的协同进化
在这个快节奏的数字时代,云原生技术以其灵活性和可扩展性成为了开发者们的新宠。本文将带你深入了解Kubernetes和Docker如何共同塑造现代云计算的架构,以及它们如何帮助企业构建更加敏捷和高效的IT基础设施。
|
1月前
|
网络协议 Docker 容器
docker pull命令拉取镜像失败的解决方案
docker pull命令拉取镜像失败的解决方案
824 1
|
1月前
|
安全 网络安全 开发者
Docker学习笔记(一):Docker命令总结
本文介绍了Docker的基本概念、优点以及常用命令。Docker是一个开源的应用容器引擎,它通过容器打包应用程序及其依赖项,实现快速部署和迁移。主要优点包括轻量级、可移植性、易于管理、安全性和开源性。文章还区分了镜像和容器的概念,并提供了构建镜像、查看容器、运行容器、停止和删除容器等常用Docker命令的示例。
131 0