docker使用(镜像、容器)

docker基础使用

文章目录


前言

dokcer的出现以及容器化技术的使用让我们能够更轻易的搭建环境和部署项目。

windows系统上通过docker desktop图形化工具可以简单直观的进行docker部署。

但是多数的项目是部署在linux服务器上,所以本篇介绍一些docker在linux上的基础使用方式。

这里演示时使用的操作系统是CentOS7


1.镜像操作

1.1命令介绍

  • docker search 镜像名:检索
  • docker pull 镜像名:镜像版本:下载
  • docker images:查看已有镜像
  • docker rmi 镜像名:镜像版本:删除已有镜像,其中镜像名和镜像版本可以换为镜像id

1.2.案例实操

1.2.1查找镜像

使用docker search 命令查找镜像只会显示最新版本的镜像,如果要安装镜像的其他版本,需要到dockerhub 上自行查找相关命令。

1.2.2下载镜像

使用docker pull 下载镜像

1.2.3查看当前镜像

使用docker images可以看到已下载镜像的名称、版本、下载时间、大小。

2.容器操作

2.1命令

2.1.1容器创建与启动

  • docker run 可选参数 镜像名 额外参数 :新建并启动容器。
    可以指定容器的名称、使用的镜像、端口映射、环境变量等。

例如,docker run -it --name my-nginx -p 8080:80 nginx 会创建一个名为my-nginx的容器,并将容器的80端口映射到主机的8080端口。该命令启动容器时,除了某些通用的可选参数外,还有一些镜像自己特有的参数,具体要看镜像文档说明。如果本地没找到对应的镜像,就会到hub中查找下载并运行。

2.1.2. 容器查看

  • docker ps:列出当前正在运行的容器。通过添加-a参数可以列出所有容器(包括历史运行过的容器)。
  • docker inspect:查看容器的详细信息,如配置、网络设置等。

2.1.3. 容器操作

  • docker start 容器名:启动已经停止的容器。
  • docker stop 容器名:停止正在运行的容器。
  • docker restart 容器名:重启容器。
  • docker kill 容器名:强制停止容器。

2.1.4. 容器删除

  • docker rm 容器名:删除已停止的容器。使用-f参数可以强制删除正在运行的容器。例如,docker rm -f $(docker ps -a -q) 会删除所有容器。

2.1.5. 容器日志

  • docker logs:查看容器的日志输出。使用-f参数可以实时查看日志。

2.1.6. 容器内文件操作

  • docker cp:在容器与主机之间拷贝文件。例如,docker cp 容器ID:容器内路径 主机路径 可以将容器内的文件拷贝到主机上。

2.1.7. 容器内命令执行

  • docker exec:在运行的容器中执行命令。例如,docker exec -it 容器ID /bin/bash 会在容器中启动一个新的bash会话。
  • docker attach:连接到正在运行的容器的标准输入输出流。与docker exec不同,docker attach会直接进入容器的当前终端会话,如果容器中没有正在运行的终端会话,则docker attach会失败。

2.1.8. 其他常用命令

  • docker top:查看容器内运行的进程。
  • docker port:列出容器的端口映射。
  • docker commit:从容器创建一个新的镜像。

2.2.实例

下面我们来演示一个实例------我们需要在云服务器上使用上一节下载的nginx镜像启动一个nginx容器,并使用它部署我们的网页到云服务器上。

2.2.1运行容器

这里把nginx容器的80端口映射到云服务器的80端口上,这样一来就可以访问云服务器的80端口来使用 nginx容器的服务。


docker run -d --name myginx -p 80:80 nginx

2.2.2查看容器


docker ps

2.2.3替换自己的页面

2.2.3.1进入容器交互界面

我们可以使用docker exec 来到容器内进行操作。

以下命令指定要操控myginx容器,并且以bash(命令行)的形式操控。

docker exec -it myginx /bin/bash

2.2.3.2修改默认页面

docker容器中的linux系统十分轻便,没有安装vim编辑器,所以只能使用原生的linux命令来进行修改

修改了一下容器中部署的index.html文件内容为:

chen,docker

于是成功替换nginx默认页内容.效果如下:

2.2.3.3退出容器操控界面

输入exit即可退出对当前容器的操控


总结

本章简单介绍了如何在linux中使用docker完成基础的容器创建和运行。

后面还会再华另外的文章介绍如何更进一步使用docker的目录挂载,卷映射,网络。

以及如何使用docker compose批量管理容器,如何使用docker file打包等。

相关推荐
emma羊羊42 分钟前
【文件读写】图片木马
linux·运维·服务器·网络安全·靶场
你疯了抱抱我1 小时前
【SSH】同一局域网下windows使用Xshell SSH连接另一台 ubuntu 22.04 电脑
运维·ubuntu·ssh
2301_818411551 小时前
Ubuntu之apt更新源
linux·运维·ubuntu
CS Beginner2 小时前
【Linux】Mysql的基本文件组成和配置
linux·运维·mysql
iconball3 小时前
个人用云计算学习笔记 --20 (Nginx 服务器)
linux·运维·笔记·学习·云计算
Wang's Blog4 小时前
Linux小课堂: 在 VirtualBox 虚拟机中安装 CentOS 7 的完整流程与关键技术详解
linux·运维
一水鉴天4 小时前
整体设计 逻辑系统程序 之18 Source 容器(Docker)承载 C/P/D 三式的完整设计与双闭环验证 之2
docker·架构·认知科学·公共逻辑
馨谙4 小时前
Linux中权限系统
linux·运维·服务器
飞快的蜗牛6 小时前
利用linux系统自带的cron 定时备份数据库,不需要写代码了
java·docker
火星MARK6 小时前
k8s面试题
容器·面试·kubernetes