[root@cali yum.repos.d]# systemctl start docker
[root@cali yum.repos.d]# ps aux|grep docker
root 1892 1.4 1.5 1095108 58972 ? Ssl 11:39 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 2029 0.0 0.0 112824 976 pts/0 S+ 11:40 0:00 grep --color=auto docker
[root@cali yum.repos.d]#
5.设置docker服务开机启动
[root@cali yum.repos.d]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@cali yum.repos.d]#
6.关闭防火墙和selinux
[root@scdocker yum.repos.d]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
[root@scdocker yum.repos.d]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@scdocker yum.repos.d]#
[root@scdocker yum.repos.d]# setenforce 0
[root@scdocker yum.repos.d]# vim /etc/selinux/configThis file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disabled #修改为disabled
SELINUXTYPE= can take one of three values:
targeted - Targeted processes are protected,
minimum - Modification of targeted policy. Only selected processes are protected.
mls - Multi Level Security protection.
SELINUXTYPE=targeted
7.重启docker服务
[root@scdocker yum.repos.d]# service docker restart
Redirecting to /bin/systemctl restart docker.service
[root@scdocker yum.repos.d]#
8. 安装一个阿里云的国内的镜像加速器,可以到阿里云上下载镜像了
[root@scdocker ~]# sudo mkdir -p /etc/docker
[root@scdocker ~]# sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://naxm4z64.mirror.aliyuncs.com”]
}
EOF
[root@scdocker ~]# cd /etc/docker/
[root@scdocker docker]# ls
daemon.json
[root@scdocker docker]# cat daemon.json
{
“registry-mirrors”: [“https://naxm4z64.mirror.aliyuncs.com”]
}
[root@scdocker docker]# sudo systemctl daemon-reload
[root@scdocker docker]# sudo systemctl restart docker
[root@scdocker docker]#
简单使用
启动一个nginx的容器
1.下载nginx的镜像
[root@scdocker docker]# docker pull nginx 拉取镜像
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete
a9edb18cadd1: Pull complete
589b7251471a: Pull complete
186b1aaa4aa6: Pull complete
b4df32aa5a72: Pull complete
a0bcbecc962e: Pull complete
Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@scdocker docker]#
2.查看镜像
[root@scdocker docker]# docker images 查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 9c7a54a9a43c 3 months ago 13.3kB
nginx latest 605c77e624dd 19 months ago 141MB
[root@scdocker docker]#
docker run --name sc-nginx-1 -p 8080:80 -d --cpu-shares 10 --cpus 1 --cpuset-cpus 0 -m 10000000 nginx
3.启动一个指定cpu资源和指定镜像的容器
[root@scdocker docker]# docker run --name sc-nginx-1 -p 8080:80 -d --cpu-shares 10 --cpus 1 --cpuset-cpus 0 -m 10000000 nginx
17353d2d6fc8ddfc05fd162d6921a667657909cbed2492538b4772c47b884ef2
[root@scdocker docker]#docker容器可以被限制使用宿主机的cpu和内存、网络、磁盘IO资源
docker run 启动容器
部分参数解释
–name sc-nginx-1 指定容器名字
-p 8080:80 指定端口映射 8080是本机的端口 后面的80是容器的端口 port
-d 将容器放到后台运行 daemon
–cpu-shares 10
docker将整个cpu资源的算力当做1,分为1000m份 1秒=1000毫秒 1s=1000ms second
无论你有几个cpu,多少核心都当做1,然后分配成1000份–cpus 1 指定只能使用1个cpu核心
–cpuset-cpus 0 指定在哪个cpu核心里运行
-m 10000000 指定可以使用的内存 memory 默认单位的字节 1kB=1024B-c, --cpu-shares int CPU shares (relative weight)
--cpus decimal Number of CPUs
--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)
4.查看运行的容器
[root@scdocker docker]# docker ps 查看正在运行的容器有哪些
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
17353d2d6fc8 nginx “/docker-entrypoint.…” 41 seconds ago Up 39 seconds 0.0.0.0:8080->80/tcp, :::8080->80/tcp sc-nginx-1
[root@scdocker docker]#
5.查看容器的详细信息
[root@scdocker docker]# docker inspect sc-nginx-1 查看容器的详细信息
…前面的省略
“MacAddress”: “02:42:ac:11:00:02”,
“Networks”: {
“bridge”: {
“IPAMConfig”: null,
“Links”: null,
“Aliases”: null,
“NetworkID”: “75574c2b181ce5e8ae647ce030d60eb42977979c182c14bbfd429bd46960f8d5”,
“EndpointID”: “08836438d9540bd5b852df28474e040795ecf4d985c87d85e99db8804c12be25”,
“Gateway”: “172.17.0.1”,
“IPAddress”: “172.17.0.2”,
“IPPrefixLen”: 16,
“IPv6Gateway”: “”,
“GlobalIPv6Address”: “”,
“GlobalIPv6PrefixLen”: 0,
“MacAddress”: “02:42:ac:11:00:02”,
“DriverOpts”: null
}
}
}
}
]
6.查看路由策略(这里涉及到docker的网络结构,之后讲)
[root@scdocker docker]# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DOCKER all – 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCALChain INPUT (policy ACCEPT)
target prot opt source destinationChain OUTPUT (policy ACCEPT)
target prot opt source destination
DOCKER all – 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCALChain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all – 172.17.0.0/16 0.0.0.0/0
MASQUERADE tcp – 172.17.0.2 172.17.0.2 tcp dpt:80Chain DOCKER (2 references)
target prot opt source destination
RETURN all – 0.0.0.0/0 0.0.0.0/0
DNAT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:172.17.0.2:80安装网络相关工具
[root@scdocker docker]# yum install vim net-tools -y
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
dea27b825e59aa1f2c54.png)
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-iMLw54Kq-1712488375230)]