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 容器基本操作

docker容器相关命令:


2. 案例:创建运行一个Nginx容器


2.1 去docker hub查看Nginx的容器运行命令

docker hub官网

我们找到了这样的一条命令:

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——运行基本容器的主要内容,如果未能解决你的问题,请参考以下文章

Linux企业运维——Kubernetes(十五)容器资源限制

docker linux基本操作

Linux 系统中 Docker 容器安装及使用

docker镜像容器

Centos 7部署docker环境基本命令使用及简单实战

如何在 Docker 容器中运行 Kali Linux 2.0