Linux——运行基本容器
Posted *南下的风*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux——运行基本容器相关的知识,希望对你有一定的参考价值。
1.安装容器管理
使用yum命令安装container-tools模块,包括工具podman和skopeo。
yum module install container-tools
2.选择容器镜像和注册表
(1)容器注册表:用于存储和检索容器镜像的存储器,从注册表中将容器镜像下载或提取到本地系统,用于运行容器。
(2)容器命名约定
registry_name/user_name/image_name:tag
registry_name:存储镜像的注册表的名称,通常是完全限定域名
user_name:镜像所属的用户或组织
image_name:用户命名空间中必须唯一
tag:标识镜像版本,如果镜像名称不包括镜像标签,假定为latest
(3)podman login命令:登录容器注册表
3.运行容器
(1)在运行容器时,必须先提取容器镜像。可以使用podman从注册表中提取镜像,镜像名称应 使用完全限定镜像名称。
(2)podman pull命令:从注册表中提取镜像,将其保存在本地
(3)podman images命令:列出镜像
(4)podman run命令:从容器镜像创建并启动新容器。
-t | 伪终端将被分配给容器 |
-i | 容器接受标准输入 |
-d | 容器在后台运行(已分离) |
--name | 设置容器名称 |
-it | 为容器分配一个终端,并与容器交互 |
--rm | 在容器中运行命令,无需交互时,在命令完成后删除容器 |
4.分析容器时隔离
容器在提供资源的运行时隔离,容器利用Linux命名空间为资源提供独立的隔离环境,将容器内运行的进程与主机上的所有其他进程隔离开。容器内的用户名和ID与主机上的用户名和ID不同。
Docker 基本操作 容器操作 -- docker 容器基本操作
文章目录
- 1. docker 容器基本操作
- 2. 案例:创建运行一个Nginx容器
- 3. 案例:进入Nginx容器,修改HTML文件内容,添加“Hello World 你好世界”
- 4. 案例:退出nginx容器,然后停掉nginx容器
- 5. 案例:启动nginx容器,然后删除nginx容器
- 6. 案例:创建并运行一个redis容器,并且支持数据持久化
- 7. 案例:进入redis容器,并执行redis-cli客户端命令,存入num=666
- 8. 小结
1. docker 容器基本操作
docker容器相关命令:
2. 案例:创建运行一个Nginx容器
2.1 去docker hub查看Nginx的容器运行命令
我们找到了这样的一条命令:
docker run --name some-nginx -d -p 8080:80 some-content-nginx
我们稍微改造一下:
docker run --name mn -p 80:80 -d nginx
命令解读:
整体解读一下就是:基于最新版本的nginx
创建了一个容器,然后给他起了一个名字mn
,做了80:80
的端口映射,并让容器后台运行(持续运行)。
2.2 linux终端输入:docker run --name mn -p 80:80 -d nginx
2.3 查看容器状态
我们去访问nginx容器:
我们先查看linux的ip:
然后就可以在我们的Windows上面访问了:游览器url栏输入http://192.168.135.130:80
即可访问
2.4 我们现在来查看nginx容器的日志(我们刚刚访问了容器)
这样监控太麻烦了,我们来设置持续的日志输出(自动打印日志):
m命令行输入:docker logs -f mn
即可持续的输出日志
3. 案例:进入Nginx容器,修改HTML文件内容,添加“Hello World 你好世界”
3.1 进入容器
运行结果:
3.2 进入nginx的HTML所在目录/usr/share/nginx/html
运行结果:
补充说明:我们怎么知道nginx的HTML所在目录是/usr/share/nginx/html?
看docker hub官网给我的提示即可:
3.3 步骤三:修改index.html的内容
我们先使用vim
命令去试一下,发现行不通,因为容器里面其实是一个阉割版的系统,只保留了必要的命令。
不过我们可以通过下面的命令去修改文件:
# 把Welcome to nginx替换为Hello World 你好世界
sed -i 's#Welcome to nginx#Hello World 你好世界#g' index.html
# 支持中文
sed -i 's#<head>#<head><meta charset="utf-8">#g' index.html
然后我们重新去访问nginx:
4. 案例:退出nginx容器,然后停掉nginx容器
5. 案例:启动nginx容器,然后删除nginx容器
6. 案例:创建并运行一个redis容器,并且支持数据持久化
由于前面已经演示过了,我这里就不做详细说明,直接搬出步骤和最后的命令。
命令行输入:docker run --name redis -p 6379:6379 -d redis redis-server --appendonly yes
运行结果:
7. 案例:进入redis容器,并执行redis-cli客户端命令,存入num=666
8. 小结
以上是关于Linux——运行基本容器的主要内容,如果未能解决你的问题,请参考以下文章