【Docker】02:Docker的基本命令

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。【Docker】02:Docker的基本命令,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

1.镜像操作

1.1 镜像名称

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

  • 镜名称一般分两部分组成:[repository]:[tag]。
  • 在没有指定tag时,默认是latest,代表最新版本的镜像
    如图:
    在这里插入图片描述这里的mysql就是repository,5.7就是tag,加起来就是完整的镜像名称,代表5.7版本的MySQL镜像。

1.2 镜像命令

常见的镜像操作命令如图:
在这里插入图片描述

1.3. 拉取、查看镜像

  1. 首先去镜像仓库搜索hello-world镜像,DockerHub:
    在这里插入图片描述
    在这里插入图片描述

  2. 根据查看到的镜像名称,拉取自己需要的镜像,通过命令:docker pull hello-world
    在这里插入图片描述

  3. 通过命令:docker images 查看拉取到的镜像
    在这里插入图片描述

1.4 保存、导入镜像

  1. 利用docker xx –help命令查看docker save和docker load的语法
    例如,查看save命令用法,可以输入命令:docker save --help
    在这里插入图片描述命令格式:docker save -o [保存的目标文件名称] [镜像名称]
  2. 使用docker save导出镜像到磁盘
    运行命令:docker save -o hello-world.tar hello-world:latest
    在这里插入图片描述
  3. 使用docker load加载镜像
    先删除本地的nginx镜像:docker rmi hello-world:latest
    在这里插入图片描述
    然后运行命令,加载本地文件:docker load -i hello-world.tar
    在这里插入图片描述

2. 容器操作

2.1 容器相关命令

在这里插入图片描述
容器保护三个状态:

  • 运行:进程正常运行
  • 暂停:进程暂停,CPU不再运行,并不释放内存
  • 停止:进程终止,回收进程占用的内存、CPU等资源
    其中:
  • docker run:创建并运行一个容器,处于运行状态
  • docker pause:让一个运行的容器暂停
  • docker unpause:让一个容器从暂停状态恢复运行
  • docker stop:停止一个运行的容器
  • docker start:让一个停止的容器再次运行
  • docker rm:删除一个容器

2.2 创建并运行一个容器

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

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

命令参数:

  • docker run :创建并运行一个容器
  • –name : 指定容器名,不指定则运行后会返回一个唯一ID
  • -p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
  • -d:后台运行容器
  • nginx:要运行的镜像,如nginx、nginx:1.20.1,如果运行的镜像不存在则会去下载,然后运行容器,如果找不到镜像则会报错。
    这里的-p参数,是将容器端口映射到宿主机端口。
    在这里插入图片描述查看容器状态:docker ps
    在这里插入图片描述

默认情况下,容器是隔离环境,我们直接访问宿主机的80端口,肯定访问不到容器中的nginx。
现在,将容器的80与宿主机的80关联起来,当我们访问宿主机的80端口时,就会被映射到容器的80,这样就能访问到nginx了:
在这里插入图片描述
访问Nginx:http://ip:80
在这里插入图片描述

2.3 进入容器并修改文件

进入容器要用到docker exec命令
步骤:

  1. 进入容器
docker exec -it nginx bash
  • docker exec :进入容器内部,执行一个命令
  • -it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  • nginx:要进入的容器的名称
  • bash:进入容器后执行的命令类型,bash是一个linux终端交互命令的一种
    容器内部会基于构建时选择的’底层’模拟一个独立的Linux文件系统,同linux系统一样:
    在这里插入图片描述
  1. 进入nginx的 index.html 所在目录cd /usr/share/nginx/html
    在这里插入图片描述

  2. 修改index.html的内容
    容器内没有vi命令,无法直接修改,可以通过下面的命令来修改:sed -i -e 's#Welcome to nginx#Hello Docker!#g' -e 's#<head>#<head><meta charset="utf-8">#g' index.html

  3. 刷新页面查看修改结果
    在这里插入图片描述

  4. 通过docker logs [容器ID/容器名]查看日志:

# 添加 -f 参数可监控日志输出
docker logs nginx

在这里插入图片描述
在这里插入图片描述

常用操作容器命令:

  1. docker run命令的常见参数
    –name:指定容器名称
    -p:指定端口映射
    -d:让容器后台运行
  2. 查看容器日志的命令:
    docker logs
    添加 -f 参数可以持续查看日志
  3. 查看容器状态:
    docker ps
    docker ps -a 查看所有容器,包括已经停止的容器。

3.数据卷(容器数据管理)

3.1.什么是数据卷

数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录。
在这里插入图片描述
完成数据卷挂载后,操作宿主机的/var/lib/docker/volumes/html目录的文件,就等于操作容器内的/usr/share/nginx/html目录的文件。

docker rm -f nginx
docker run -d \
--name nginx \
-p 80:80 \
-v /root/html:/usr/share/nginx/html \
nginx

在这里插入图片描述

在这里插入图片描述

3.2 数据集操作命令

数据卷操作的基本语法如下:
① 创建数据卷:docker volume create dome_volume
在这里插入图片描述

② 查看所有数据卷:docker volume ls
在这里插入图片描述
③ 查看数据卷详细信息:docker volume inspect dome_volume
在这里插入图片描述
可以看到,创建的dome_volume这个数据卷关联的宿主机目录为/var/lib/docker/volumes/dome_volume/_data目录。

3.3 数据卷操作命令小结

数据卷的作用:

  • 将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全。

数据卷操作:

  • docker volume create:创建数据卷
  • docker volume ls:查看所有数据卷
  • docker volume inspect:查看数据卷详细信息,包括关联的宿主机目录位置
  • docker volume rm:删除指定数据卷
  • docker volume prune:删除所有未使用的数据卷

3.4 挂载数据卷

创建容器时,可以通过 -v 参数来挂载一个数据卷到某个容器内目录,命令格式如下:

docker run -d \
--name dome \
-v dome_volume:/root/xxx \
-p 8080:80 \
dome

这里的-v就是挂载数据卷的命令:
-vdome_volume:/root/xxx:把dome_volume数据卷挂载到容器内的/root/xxx这个目录中,实操可见上方nginx用例。

docker run的命令中通过 -v 参数挂载文件或目录到容器中:

  • -v volume名称:容器内目录,PS: dome_volume:/root/data
  • -v 宿主机文件:容器内文件,PS:/root/conf/redis.conf:/etc/redis/redis.conf
  • -v 宿主机目录:容器内目录,PS:/root/data:/lib/data

上一篇:【Docker】01: 安装Docker
下一篇:【Docker】03:Dockerfile自定义镜像

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/194670.html

(1)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!