[Docker笔记-2] Docker的基本操作命令

镜像操作

镜像名称

首先来看下镜像的名称组成:

  • 镜名称一般分两部分组成:[repository]:[tag]
  • 在没有指定tag时,默认是latest,代表最新版本的镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b2PHgqht-1651575202503)(D:\Photos\markdown\image-20220423170318540.png)]

这里的mysql就是repository,5.7就是tag,合一起就是镜像名称,代表5.7版本的MySQL镜像。

镜像命令

常见的镜像操作命令如图:

在这里插入图片描述

docker --help 查看docker所有常见命令

dokcer {命令} --help 查看某个命令具体的格式参数

image 就是镜像的意思

案例1-拉取、查看镜像

从DockerHub中拉取一个nginx镜像并查看

  1. 首先去镜像仓库搜索nginx镜像,比如DockerHub

  2. 根据查看到的镜像名称,拉取自己需要的镜像,通过命令:docker pull nginx(这个命令会在dockerhub中给出)

  3. 通过命令:docker images 查看拉取到的镜像

案例2-保存、导入镜像

利用docker save将nginx镜像导出磁盘,然后再通过load加载回来

  1. 利用docker xx --help命令查看docker save和docker load的语法

    例如,查看save命令用法,可以输入命令:

docker save --help

​ 命令格式:

docker save -o [保存的目标文件名称] [镜像名称]
  1. 使用docker save导出镜像到磁盘

    运行命令:

docker save -o nginx.tar nginx:latest
  1. 使用docker load加载镜像

    先删除本地的nginx镜像:

docker rmi nginx:latest

然后运行命令,加载本地文件:

docker load -i nginx.tar

练习案例

需求:去DockerHub搜索并拉取一个Redis镜像

  1. 去DockerHub搜索Redis镜像

  2. 查看Redis镜像的名称和版本

  3. 利用docker pull命令拉取镜像

  4. 利用docker save命令将 redis:latest打包为一个redis.tar包

  5. 利用docker rmi 删除本地的redis:latest

  6. 利用docker load 重新加载 redis.tar文件

容器操作

容器相关命令

容器操作的命令如图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dTdHeZNU-1651575202505)(D:\Photos\markdown\image-20220423185925273.png)]

容器保护三个状态:

  • 运行:进程正常运行
  • 暂停(pause):进程暂停,CPU不再运行,并不释放内存
  • 停止(stop):进程终止,回收进程占用的内存、CPU等资源

其中:

  • docker run:创建并运行一个容器,处于运行状态
  • docker pause:让一个运行的容器暂停
  • docker unpause:让一个容器从暂停状态恢复运行
  • docker stop:停止一个运行的容器
  • docker start:让一个停止的容器再次运行
  • docker rm: 删除一个容器(包括其中所有的运行环境)
  • docker ps: 查看所有容器及其信息

案例-创建并运行一个容器

创建并运行一个nginx容器的命令:

docker run --name {容器名称} -p {宿主机端口}:{容器端口} -d {镜像名称}

命令解读:

  • docker run :创建并运行一个容器
  • –name : 给容器起一个名字,比如叫做mn
  • -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
  • -d:后台运行容器

这里的-p参数,是将容器端口映射到宿主机端口。

默认情况下,容器是隔离环境,我们直接访问宿主机的80端口,肯定访问不到容器中的nginx。

现在,将容器的80与宿主机的8001端口关联起来,当我们访问宿主机的8001端口时,就会被映射到容器的80,这样就能访问到nginx了, 类似于NET(内网穿透)

一个镜像对应一个容器

案例-进入容器,修改文件

需求:进入Nginx容器,修改HTML文件内容

提示:进入容器要用到docker exec命令

步骤

  1. 进入容器。进入我们刚刚创建的nginx容器的命令为:

    docker exec -it {容器名称} bash
    

    命令解读:

    • docker exec :进入容器内部,执行一个命令

    • -it : 给当前进入的容器创建一个标准输入,输出终端,允许我们与容器交互

    • bash: 生成一个bash终端命令格式, 也可以是一个具体的命令, 表示进入容器后立即执行这个命令

  2. 进入nginx的HTML所在目录 /usr/share/nginx/html

    容器内部会模拟一个独立的Linux文件系统,看起来如同一个linux服务器一样:

    nginx的环境、配置、运行文件全部都在这个文件系统中,包括我们要修改的html文件。

    查看DockerHub网站中的nginx页面,可以知道nginx的html目录位置在/usr/share/nginx/html

    进入该目录, 找到index.html文件

  3. 修改index.html的内容

    容器内没有vimvi命令,无法直接修改,我们用下面的命令来修改:

    sed -i -e 's#Welcome to nginx#欢迎来到nginx#g' -e 's#<head>#<head><meta charset="utf-8">#g' index.html
    

    在浏览器访问自己的linux机器地址,例如我的是:http://59.110.138.164:8001/,即可看到结果

  4. 最后可以通过exit命令来退出容器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值