docker概念介绍,安装以及简单使用,【工作经验分享

[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/config

This 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 LOCAL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
DOCKER     all  –  0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain 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:80

Chain 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运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

dea27b825e59aa1f2c54.png)

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-iMLw54Kq-1712488375230)]

  • 23
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值