Docker安装和基础命令_docker20

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

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

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

需要这份系统化的资料的朋友,可以点击这里获取!

  1. 安装方式主要有两种:rpm包安装和tar包安装。
    由于之前一直都是用rpm包安装,现尝试用tar包安装。
  2. 安装包下载链接:国内阿里的下载地址
  3. 下面展示用tar包离线安装20.10.4版本的过程。
[root@localhost docker]# mkdir /home/docker/
[root@localhost docker]# ll /root/
total 6161540
-rw-------. 1 root root       1511 Sep  5 00:50 anaconda-ks.cfg
-rw-r--r--. 1 root root 4521459712 Mar  5 05:12 CentOS-7.4-x86_64-DVD-1708.iso
-rw-r--r--. 1 root root 1718784000 Sep  5 01:49 centos7-base.tar
-rw-r--r--. 1 root root   69160447 Mar  5 05:08 docker-20.10.4.tgz
[root@localhost docker]# tar -zxvf /root/docker-20.10.4.tgz -C /home/docker/
[root@localhost docker]# ll
drwxrwxr-x. 2 1000 1000 4096 Feb 25 15:07 docker
-rw-r--r--. 1 root root  443 Mar  5 06:07 docker.service
[root@localhost docker]# 
#docker.service文件内容
[root@localhost docker]# cat docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
 
[Install]
WantedBy=multi-user.target

[root@localhost docker]# cp docker.service /etc/systemd/system/docker.service 
[root@localhost docker]# chmod +x /etc/systemd/system/docker.service
[root@localhost docker]# cp docker/\* /usr/bin/

#修改docker.service文件时都要重新加载下
[root@localhost docker]# systemctl daemon-reload
[root@localhost docker]# systemctl enable docker
[root@localhost docker]# systemctl start docker
[root@localhost docker]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-03-05 06:05:30 CST; 2min 2s ago
     Docs: https://docs.docker.com
 Main PID: 3117 (dockerd)
   Memory: 28.2M
   CGroup: /system.slice/docker.service
           ├─3117 /usr/bin/dockerd
           └─3124 containerd --config /var/run/docker/containerd/containerd.toml --log-level info

Mar 05 06:05:30 localhost.localdomain dockerd[3117]: time="2021-03-05T06:05:30.699111208+08:00" level=info msg="ccResolverWrapper: sending...le=g


2、docker基础命令

  • 启动: systemctl start docker
  • 停止: systemctl stop docker
  • 设置开机启动: systemctl enable docker.service
  • 查看docker状态: systemctl status docker
  • 版本: docker version
  • 基本信息: docker info

3、Docker的使用

docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG…]
决定容器的运行方式,前台执行还是后台执行。

docker run后面追加-d=true或者-d,那么容器将会运行在后台模式。
docker exec来进入到到该容器中,或者attach重新连接容器的会话
进行交互式操作(例如Shell脚本),那我们必须使用-i -t参数同容器进行数据交互
docker run时没有指定–name,那么deamon会自动生成一个随机字符串UUID
Docker时有自动化的需求,你可以将containerID输出到指定的文件中(PIDfile): --cidfile=“”
Docker的容器是没有特权的,例如不能在容器中再启动一个容器。这是因为默认情况下容器是不能访问任何其它设备的。但是通过"privileged",容器就拥有了访问任何其它设备的权限。

示例1: 打印Hello World
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。
#docker run centos:7.4 /bin/echo “Hello world”

各个参数解析:
docker: Docker 的二进制执行文件。
run: 与前面的 docker 组合来运行一个容器。
centos:7.4 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo “Hello world”: 在启动的容器里执行的命令。

示例2 运行交互式的容器
通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:
docker run -i -t centos:7.4 /bin/bash

各个参数解析:
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。

示例3 启动容器(后台模式)
使用以下命令创建一个以进程方式运行的容器
docker run -d centos:7.4 /bin/sh -c “while true; do echo hello world; sleep 1; done”

示例4 容器状态:docker ps -a

[root@docker-master-79100 opt]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                    NAMES
9c34a2387a54        redis:5.0.3         "/bin/bash"              2 months ago        Exited (0) 2 months ago                              happy_pike
3d463109e16e        redis:5.0.3         "/bin/bash"              5 months ago        Exited (137) 5 months ago                            hungry_rit
chie368fc75a59b3    centos7.8:v2        "/usr/sbin/sshd -D"      5 months ago        Exited (0) 5 months ago                              elegant_la
landed2310b6531c1   registry            "/entrypoint.sh /e..."   5 months ago        Up About an hour            0.0.0.0:5000->5000/tcp   registry


输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。

最全的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行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以点击这里获取!

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

  • 29
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值