Linux下Docker基础命令(使用腾讯云镜像源)

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,简单的理解就是“轻量级的虚拟机”。

本文主要介绍在 CentOS 7.x 下,使用腾讯云服务器,结合腾讯云镜像源,了解Docker的基础命令。

卸载旧版本的 Docker

如果要安装新版本的 Docker ,可以先卸载掉旧版本(在保证不影响使用的情况下)。

# 列出系统中已安装的docker包
yum list installed | grep docker

# 卸载已安装的docker包(如上一步没有安装 Docker 则可跳过)
yum -y remove docker-ce-cli.x86_64
yum -y remove docker-ce.x86_64
yum -y remove containerd.io

安装 Docker

# 安装 Docker 所需的依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加 Docker 的 yum 源
yum-config-manager --add-repo https://mirrors.cloud.tencent.com/docker-ce/linux/centos/docker-ce.repo

# yum 安装 Docker
yum install -y docker-ce docker-ce-cli containerd.io

# 查看 Docker 版本
docker version

启动 Docker

# 执行以下命令启动 Docker
systemctl start docker

# 然后将 Docker 设置为开机启动
systemctl enable docker

# 查看 Docker 运行状态
service docker status

# 可能返回以下内容,看到 active (running) 表示正在运行中
Redirecting to /bin/systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-12-22 10:00:56 CST; 11s ago
     Docs: https://docs.docker.com

配置镜像加速

Docker 工作的基础即是镜像,可以认为一个镜像即是一个独立的由应用组成的虚拟机。docker 官方建立了 Docker Hub 来存贮镜像,但是由于网络原因, Docker Hub 的访问速度过慢,这里更换为腾讯云的镜像源地址。

# 创建 Docker 配置目录
mkdir -p /etc/docker

# 配置 Docker 镜像加速源
vim /etc/docker/daemon.json

# 输入以下内容后保存退出
{
  "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}

# 重启守护进程并重启 Docker
systemctl daemon-reload && systemctl restart docker

拉取镜像并运行容器

docker run 命令用于从 Docker 镜像运行一个容器。

# 命令格式
docker run --name=容器名称 镜像名称

# 命令示例
docker run --name=hello hello-world

# 命令说明
--name=hello: 这个选项用于给容器指定一个名字,这里的名字是“hello”。
hello-world: 这是要运行的Docker镜像的名字。Docker会从本地或者Docker Hub上拉取这个镜像(如果本地没有的话),并基于这个镜像创建一个新的容器运行。

# 可能返回以下内容,表示运行成功
Hello from Docker!
This message shows that your installation appears to be working correctly.

hello-world通常是一个非常简单的 Docker 镜像,用于演示 Docker 如何工作。它会输出一条欢迎消息,然后停止运行。

命令会直接拉取 hello-world 镜像,然后运行一个 hello 容器,当运行这个命令时,Docker会做以下几件事情:

1、检查本地是否有 hello-world 镜像,如果没有,它会尝试从 Docker Hub (本示例为腾讯软件源)下载。

2、基于 hello-world 镜像创建一个新的容器。

3、给这个新容器命名为“hello”。

4、运行这个容器。

hello-world 容器会执行其预定义的命令,容器执行完毕后会自动停止,Docker 常见示例,用于展示 Docker 的基本工作原理。

查看容器进程

docker ps 命令用于查看容器的进程

# 命令示例
docker ps -a

# 可能返回以下内容,hello 容器已在运行
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS     NAMES
6272bfc3fc36   hello-world   "/hello"   2 minutes ago   Exited (0) 2 minutes ago             hello

拉取镜像

除了上述方式外,也可以通过 docker pull 命令拉取(下载)镜像,然后再手动运行。

# 命令格式
docker pull name[:tag]

name:镜像名称
tag:特定标签,如不指定则表示为最新版本

# 命令示例,拉取特定标签为 alpine 的 nginx 版本
docker pull nginx:alpine

# 命令示例,拉取最新的 nginx 版本
docker pull nginx

查看现有镜像

docker images

# 可能返回以下内容,包括 nginx 、hello-world
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
nginx         alpine    529b5644c430   8 weeks ago    42.6MB
hello-world   latest    d2c94e258dcb   7 months ago   13.3kB

创建容器

docker create 命令用于创建容器,镜像拉取成功后,根据镜像创建容器。

# 命令格式
docker create 参数 镜像名称

#参数说明
–name :容器名字
-p:指定端口映射,主机(宿主)端口:容器端口,如80:80 表示该容器将 80 端口映射到主机 80 端口

#命令示例
docker create --name=nginx_web -p 80:80 nginx

# 查看容器进程
docker ps -a

# 可能返回以下内容
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS                     PORTS     NAMES
bab8bb6d89ae   nginx         "/docker-entrypoint.…"   50 seconds ago   Created                              nginx_web
6272bfc3fc36   hello-world   "/hello"                 4 minutes ago    Exited (0) 4 minutes ago             hello

与 docker run 不同的是,docker create 创建出来的容器不会直接启动运行。

启动容器

docker start 命令用于启动容器

# 命令格式
docker start 容器名称

# 命令示例
docker start nginx_web

因为本示例启动的是 nginx ,此时可以通过访问 http://ip 看到 nginx 的环境界面

停止容器

停止正在运行的容器有两种方法,docker stop 命令或者 docker kill 命令,区别在于,docker stop 会给时间让容器保存最后的运行状态,而 docker kill 则会直接关闭容器。

# 命令格式
docker stop 容器名称

# 命令示例
docker stop nginx_web

# 命令格式
docker kill 容器名称

# 命令示例
docker kill nginx_web

删除容器

docker rm 命令可以删除指定的容器

# 命令格式
docker rm [参数] 容器名称

# 参数说明
-f:强制停止并删除运行状态的容器

# 命令示例,删除终止状态的容器
docker rm nginx_web

# 命令示例,强制删除运行状态的容器
docker rm -f nginx_web

# 查看容器进程确认结果
docker ps -a

删除指定镜像

docker rmi 命令用于删除指定的镜像

# 命令格式
docker rmi 镜像名称

# 命令示例
docker rmi nginx

# 查看镜像确认结果
docker images

删除所有镜像

通过 docker rmi 跟镜像 ID 来删除指定的镜像。

# 获取所有镜像 ID 
docker images -q

# 通过镜像 ID 一次性删除所有镜像
docker rmi `docker images -q`

# 查看镜像确认结果
docker images

以上内容仅是 docker 日常使用的基础命令及参数,更多内容可查阅相关资料。

腾讯云提供了Docker镜像加速服务,可以加快镜像的下载速度。根据引用\[1\]中的信息,您可以根据您的操作系统类型参考相应的文档进行安装。对于TencentOS Server,可以参考搭建Docker进行安装。对于CentOS,可以参考Docker官方文档 - 在CentOS中安装Docker进行安装。对于Ubuntu,可以参考Docker官方文档 - 在Ubuntu中安装Docker进行安装。对于Windows,可以参考Docker官方文档 - 在Windows中安装Docker进行安装,但仅支持使用Windows Server 2019镜像的实例安装。在安装Docker软件后,您可以使用docker pull命令拉取镜像。如果您未配置镜像加速源,可以直接从DockerHub中拉取镜像,但下载速度可能较慢。为了加快下载速度,建议您使用腾讯云Docker镜像源加速镜像下载。根据引用\[2\]中的信息,您可以按照不同操作系统的详细操作步骤进行配置。对于Linux操作系统实例,您可以执行一系列命令来配置镜像加速源。对于已安装Boot2Docker的Windows操作系统实例,您可以进入Boot2Docker Start Shell并执行一系列命令来配置镜像加速源。总的来说,腾讯云提供了Docker镜像加速服务,可以帮助您加快镜像的下载速度。 #### 引用[.reference_title] - *1* *2* [腾讯云轻量应用服务器如何安装 Docker 并配置镜像加速源?](https://blog.csdn.net/java_zdc/article/details/128428700)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [docker 推送镜像到腾讯云仓库](https://blog.csdn.net/jialiuyang/article/details/98626911)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值