docker 的容器入门

Linux Namespace

LXC所实现的隔离性主要是来自kernel的namespace, 其中pid, net, ipc, mnt, uts 等namespace将container的进程, 网络, 消息, 文件系统和hostname 隔离开。

Control Groups

cgroups 实现了对资源的配额和度量。 cgroups 的使用非常简单,提供类似文件的接口,在 /cgroup目录下新建一个文件夹即可新建一个group,在此文件夹中新建task文件,并将pid写入该文件,即可实现对该进程的资源控制。具体的资源配置选项可以在该文件夹中新建子 subsystem ,{子系统前缀}.{资源项} 是典型的配置方法。
安装docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum -y install docker
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker images   查看存在的镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
[root@localhost ~]# docker pull tomcat  下载镜像
Using default tag: latest
Trying to pull repository docker.io/library/tomcat ...
latest: Pulling from docker.io/library/tomcat
54f7e8ac135a: Pull complete
d6341e30912f: Pull complete
087a57faf949: Pull complete
95065f220961: Pull complete
0887630ce576: Pull complete
c375d1959fab: Pull complete
e00a5e6055cc: Pull complete
8319f5fb56cf: Pull complete
258c74eb25ab: Pull complete
6eb86d11d371: Pull complete
adb5a4a6adf5: Pull complete
4685b434f297: Pull complete
Digest: sha256:e394c2f94eee344300e68d7183f3f19d272316f9691b280ac0e3911ea610e590
Status: Downloaded newer image for docker.io/tomcat:latest
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/tomcat    latest              78b258e36eed        13 days ago         463 MB<br>[root@localhost ~]# docker run -it -d -p 8888:8080 tomcat:latest   后台启动容器将容器的8080与本机的8888端口进行绑定
d588baa6a123a47913a112a5c3ee3f52f0a9f2c2c412ec1a46a527f32222ab6a

前端访问http://192.168.10.31:8888/

 

查看运行容器

1
2
3
4
5
6
7
8
9
10
[root@localhost ~]# ss -lntp
State       Recv-Q Send-Q                                                  Local Address:Port                                                                 Peer Address:Port             
LISTEN      0      128                                                                 *:22                                                                              *:*                  
users:(("sshd",pid=1000,fd=3))LISTEN      0      100                                                         127.0.0.1:25                                                                              *:*                  
users:(("master",pid=1159,fd=13))LISTEN      0      128                                                                :::22                                                                             :::*                  
users:(("sshd",pid=1000,fd=4))LISTEN      0      128                                                                :::8888                                                                           :::*                  
users:(("docker-proxy-cu",pid=2762,fd=4))LISTEN      0      100                                                               ::1:25                                                                             :::*                  
users:(("master",pid=1159,fd=14))<br>[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
967a88f8ea47        tomcat:latest       "catalina.sh run"   3 minutes ago       Up 3 minutes        0.0.0.0:8888->8080/tcp   wonderful_swanson

停止容器停止

1
2
3
4
5
6
7
[root@localhost ~]# docker stop 967a88f8ea47 停止容器
967a88f8ea47
[root@localhost ~]# docker ps  查看运行的容器
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@localhost ~]# docker ps -a  查看所有容器
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
967a88f8ea47        tomcat:latest       "catalina.sh run"   7 minutes ago       Exited (143) 7 seconds ago                       wonderful_swanson

  

 

posted @   烟雨楼台,行云流水  阅读(259)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示