【云原生 | 08】Docker之单容器管理

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 每个容器被创建后,都会分配一个 CONTAINER ID 作为容器的唯一标示,后续对容器的启动、停止、修改、删除等所有操作,都是通过 CONTAINER ID 来完成,偏向于数据库概念中的主键。docker ps --no-trunc 查看;docker stop/start CONTAINERID 停止;docker start/stop MywordPress 通过容器别名启动/停止...............

🍁作者简介:🏅云计算领域优质创作者🏅新星计划第三季python赛道TOP1🏅 阿里云ACE认证高级工程师🏅

✒️个人主页:小鹏linux

💊个人社区:小鹏linux(个人社区)欢迎您的加入!image.gif

目录

1.基础命令

2. 单一容器管理

3. run 基础命令

👑👑👑结束语👑👑👑


Docker 指令的基本用法:

docker + 命令关键字(COMMAND) + 一系列的参数

docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress

image.gif

#docker run 运行

#--name MyWordPress 指定容器名称,不指定则随机生成一个容器名。

#--link db:mysql 链接的含义。当前MyWordPress容器想运行就必须要依赖另一个db容器(db容器调用别名mysql)db容器和mysql别名会写入到当前容器的/etc/hosts文件中

#-p 8080:80 8080为访问物理机端口地址,80为docker容器内部的端口

#-d wordpress 放到后台运行。容器如需运行的最低标准:必须拥有前台进程

1.基础命令

命令1:
docker info                        #守护进程的系统资源设置
举例如下:

image.gif

命令2:
docker search                        #镜像的查询
举例如下:
[root@localhost ~]# docker search nginx   #只能查看镜像名,看不到版本号。

image.gif

命令3:
docker pull                         #镜像的下载

举例如下:

浏览器搜素https://c.163yun.com/hub#/home网易官方镜像,登录,点击镜像仓库,点击镜像中心,搜素centos,点击public/centos,点击版本,复制下载地址。hub.c.163.com/public/centos:6.7-tools

[root@localhost ~]# docker pull hub.c.163.com/public/centos:7.2-tools #将版本号修改为需要的版本号用docker pull命令下载即可

image.gif

命令4:
docker images                #Docker镜像的查询
举例如下:
[root@localhost ~]# docker images   #可以查看本地仓库下所有的镜像

image.gif

image.gif

[root@localhost ~]# docker images --no-trunc    #可以显示全部ID

image.gif

image.gif

命令5:
docker rmi                #Docker镜像的删除

当一个镜像在某个容器中运行时候无法删除,只能强制删除。

-f 选项可以强制删除镜像

命令6:
docker ps                #容器的查询
举例如下:
docker ps       #容器的查询(当前正在工作的)
docker ps -a      #查询所有的容器
docker ps -a -q     #简要化查询所有的容器(只输出ID号)

image.gif

image.gif

命令7:
docker run                #容器的创建启动
举例如下:

启动方式一:

[root@localhost ~]# docker run -d hello-world:latest
                                      #镜像名:版本号

image.gif

启动方式二:

[root@localhost ~]# docker run -d feb5
                                  #镜像ID号前四位

image.gif

命令8:
docker start                     #容器启动
docker stop                     #容器停止
命令9:
docker rm     #容器的删除
                    #-f 强制删除

image.gif

举例如下:
[root@localhost ~]# docker rm -f $(docker ps -a -q)   #强制删除所有容器

image.gif

命令10:镜像导入导出

docker save -o 镜像名.tar 镜像名:版本号              # 以打包的方式导出镜像到当前目录下

docker load -i 镜像名.tar                                          # 导入镜像,就不用再重新去下载了。

命令11:查看容器映射关系
* docker port ContainerName                 #可以查看容器当前的映射关系

命令12:查看镜像制作历史

docker history 镜像名 --no trunc            #可以查看镜像制作的历史命令

2. 单一容器管理

每个容器被创建后,都会分配一个 CONTAINER ID 作为容器的唯一标示,后续对容器的启动、停止、修改、删除等所有操作,都是通过 CONTAINER ID 来完成,偏向于数据库概念中的主键.

        docker ps --no-trunc 查看

        docker stop/start CONTAINERID 停止

        docker start/stop MywordPress 通过容器别名启动/停止

        docker inspect MywordPress    查看容器所有基本信息

        docker logs MywordPress   查看容器日志(前台的输出信息)

        docker stats MywordPress   查看容器所占用的系统资源

        docker exec 容器名 容器内执行的命令   容器执行命令

        docker exec -it 容器名 /bin/bash或/bin/sh   登入容器的bash

3. run 基础命令

命令1:
--restart=always                    #容器的自动启动(容器会随着docker进程的启动而自动启动)

举例如下:

[root@localhost ~]# docker images   #先查询镜像,如下:

image.gif

image.gif

[root@localhost ~]# docker run --name test1  -d b6306     #将wordpress镜像通过容器test1运行(为了做对比)
[root@localhost ~]# docker run --name test2 --restart=always -d b6306 #将wordpress镜像通过容器test2自启动
[root@localhost ~]# docker ps -a    #查看两个容器都是UP运行状态,如下图:

image.gif

image.gif

[root@localhost ~]# systemctl stop docker
[root@localhost ~]# systemctl start docker    #重启容器
[root@localhost ~]# docker ps -a  #再次查看发现设置了自启动的容器test2随着docker进程的启动而启动了,如图:

image.gif

image.gif

命令2:
-h x.xx.xx                         #设置容器主机名
举例如下:
[root@localhost ~]# docker run --name test3 -h axp -d b6306     #设置主机名为axp并以test3容器运行wordpress镜像
[root@localhost ~]# docker exec test3 hostname      #查看当前主机名,如图:

image.gif

image.gif

命令3:
--dns xx.xx.xx.xx                         #设置容器使用的 DNS 服务器
--dns-search                               #DNS 搜索设置

设置搜索域,如:设置搜索域为xiaopeng.com,则访问www的时候会自动搜索成www.xiaopeng.com

命令4:
--add-host hostname:IP            #注入 hostname <> IP 解析
举例如下:
[root@localhost ~]# docker images #查询镜像
[root@localhost ~]# docker run --name test1 -h axp -d b6306     #将wordpress镜像通过容器test1运行
[root@localhost ~]# docker exec -it test1 /bin/bash     #进入test1容器
root@axp:/var/www/html# cat /etc/host   #查看到hostname<>ip解析如下图:

image.gif

image.gif

root@axp:/var/www/html# hostname  #查看主机名为axp,如图:

image.gif

image.gif

[root@localhost ~]# docker run --name test2 --add-host axp:66.66.66.66 -d b6306   #将wordpress镜像通过容器test2运行并设置解析
[root@localhost ~]# docker exec -it test2 /bin/bash   #进入test2容器
root@113a8f21e03a:/var/www/html# cat /etc/hosts   #查看解析文件,如下图:

image.gif

image.gif

root@113a8f21e03a:/var/www/html# exit #登出

image.gif

命令5:
--rm        #服务停止时自动删除
举例如下:
[root@localhost ~]# docker images   #查看镜像
[root@localhost ~]# docker run --name test1 -d b630     #将wordpress镜像通过容器test1运行
[root@localhost ~]# docker run --name test2 --rm -d b630    #将wordpress镜像通过容器test2运行并设置随着docker进程的停止容器自动删除
[root@localhost ~]# docker ps -a    #查看两个容器都是UP运行状态
[root@localhost ~]# systemctl restart docker  #重启docker服务
[root@localhost ~]# docker ps -a    #查看容器状态,发现test1容器虽然停止了但是还存在,test2容器已自动删除,如下图;

image.gif

image.gif

命令6:

docker run -it --rm b630 /bin/bash         (充当测试机器。常用!)

# /bin/bash 启动命令替换为解释器

# -it 交互模式 tty接口

# 进入容器内部发起测试,测试完成后exit退出,然后当前测试环境就会被自动删除了。

命令7:

Dockfile文件生成镜像命令:

docker    build    -t    wangyang/nginx:v1.0   Dockfile文件路径

镜像导出:

docker save -o  xx.xx.xx  xx.xx.xx.tar

镜像导入:

docker load -i xx.xx.xx.tar

将容器封装成镜像:

docker commit nginx(容器名) axplinux/nginx:v0.1(镜像名)

👑👑👑结束语👑👑👑

image.gif

目录
相关文章
|
4天前
|
关系型数据库 MySQL API
|
4天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
6天前
|
Kubernetes Cloud Native 微服务
云原生之旅:从容器到微服务
【10月更文挑战第29天】在这篇文章中,我们将一起探索云原生的奥秘。云原生不仅仅是一种技术,更是一种文化和方法论。我们将从容器技术开始,逐步深入到微服务架构,最后探讨如何在云平台上实现高效的服务部署和管理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的技能。让我们一起踏上这段激动人心的云原生之旅吧!
|
7天前
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务的融合
【10月更文挑战第28天】 在数字化转型的浪潮中,云原生技术如星辰般璀璨,引领着企业IT架构的未来。本文将带你穿梭于云原生的世界,探索容器化技术和微服务架构如何携手共舞,打造灵活、高效的应用部署和运维模式。我们将通过实际代码示例,揭示这股力量背后的奥秘,并展现它们是如何为现代软件开发带来革新。准备好了吗?让我们启航,驶向云原生技术的深海。
|
6天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
32 1
|
7天前
|
Cloud Native 持续交付 云计算
云原生入门指南:从容器到微服务
【10月更文挑战第28天】在数字化转型的浪潮中,云原生技术成为推动现代软件开发的关键力量。本篇文章将带你了解云原生的基本概念,探索它如何通过容器化、微服务架构以及持续集成和持续部署(CI/CD)的实践来提升应用的可伸缩性、灵活性和可靠性。你将学习到如何利用这些技术构建和部署在云端高效运行的应用,并理解它们对DevOps文化的贡献。
23 2
|
5天前
|
Docker 容器
docker 容器重启
【10月更文挑战第30天】docker 容器重启
10 0
|
8天前
|
Kubernetes 监控 开发者
掌握容器化:Docker与Kubernetes的最佳实践
【10月更文挑战第26天】本文深入探讨了Docker和Kubernetes的最佳实践,涵盖Dockerfile优化、数据卷管理、网络配置、Pod设计、服务发现与负载均衡、声明式更新等内容。同时介绍了容器化现有应用、自动化部署、监控与日志等开发技巧,以及Docker Compose和Helm等实用工具。旨在帮助开发者提高开发效率和系统稳定性,构建现代、高效、可扩展的应用。
|
20天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
54 5
|
14天前
|
存储 缓存 Docker
docker中挂载数据卷到容器
【10月更文挑战第16天】
21 2

相关产品

  • 容器服务Kubernetes版