努力挣扎的生活 努力挣扎的生活
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Dcoker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)

yangfk

瑟瑟发抖的小运维
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 运维基础
  • 监控
  • 日志系统
  • gitlab安装
  • jenkins安装和管理
  • Jenkins工具集成
  • pipeline流水线
  • Dcoker
  • Kubernetes
  • Nexus
  • Rancher
  • Prometheus
  • ELK(EFK)
  • 虚拟化
  • Mysql
  • PostgreSQL
  • Redis
  • MongoDB
  • clickhouse
关于
  • 分类
  • 标签
  • 归档
  • 收藏
  • 更多
GitHub (opens new window)
  • Docker

    • Doker安装与基础操作
      • docker安装
      • Docker常用命令
        • 镜像相关
        • 逻辑卷相关
        • 网络相关
        • 自定义网卡(版本1.13.1)
    • Docker知识点
    • Dockerfile
    • docker-compose使用
    • 麒麟系统适配环境准备(x86_64运行arm容器)
    • docker单点启动nacos持久化密码
  • Kubernetes

  • Nexus

  • Rancher

  • Prometheus

  • ELK

  • 虚拟化

//
  • 云计算虚拟化
  • Docker
yangfk
2021-08-25

Doker安装与基础操作

//

# docker安装

yum install -y yum-utils # device-mapper-persistent-data lvm2

#添加源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum list docker --show-duplicates

# 安装并启动 docker
yum install -y docker-ce-19.03.11 docker-ce-cli-19.03.11 containerd.io-1.2.13

# 重启 docker,并添加开机自启动
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  • 镜像加速与信赖http://192.168.40.55:5000:
[root@docker02 ~]# cat /etc/docker/daemon.json
{
    "dns" : [
      "114.114.114.114",
      "8.8.8.8"
    ],
    "graph": "/data/docker",
    "storage-driver": "overlay2",
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "insecure-registries": ["192.168.40.55:5000"],
    "bip": "172.40.55.0/24",
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver":"json-file",
    "log-opts": {"max-size":"2048m", "max-file":"3"},
    "live-restore": true
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
参数 说明
graph docker引擎工作目录
storage-driver 存储驱动
registry-mirrors 镜像加速源
insecure-registries 私有仓库信赖
bip 容器IP
exec-opts 基于systemd
log-driver 容器日志格式,
log-opts 容器日志大小,级别
live-restore 是否基于docker引擎存活

# Docker常用命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG..]

OPTIONS选项:

参数 说明
-i 启动一个可交互的容器,并持续打开标准输入
-t 终端关联到容器的标准输入输出上
-d 容器放置后台运行
--rm 退出后删除容器
--name 容器唯一名
IMAGE 镜像
COMMAND 容器运行的命令
  • 查看
docker ps --no-trunc
docker images
docker volume ls
docker network ls
1
2
3
4
  • test 用户可以使用docker 命令

sudo usermod -aG docker test

  • 创建启动容器 run=create+start

docker run -d -p 80:80 nginx:latest

docker run -d -p 80:80 nginx1.16:v1 /bin/bash /init.sh

  • 使用systemctl 服务 --privileged=true

docker run -it docker.io/centos:centos7.5.1804 /usr/sbin/init

  • 强制删除容器,(包括正在运行) rm -f

docker rm -f `docker ps -a -q`

  • 进入容器 -it

docker exec -it ce0a21e9b21f /bin/bash

  • 查看容器默认日志输出 logs

docker logs -f ce0a21e9b21f

docker logs -f --tail 100 ce0a21e9b21f

  • 设置主机名 -h

docker run -d -p 80:80 -h prod-web01 nginx:latest

  • 设置容器名,开机自启动 --restart=always

docker run -d -p 80:80 --name prod-web01 --restart=always nginx:latest

  • 容器停止自动删除 --rm

docker run -it --rm nginx:latest

  • 传参 -e

docker run -d -p 80:80 -h prod-web01 -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd nginx:latest

  • centos7.5 官方镜像

#wget http://download.yfklife.cn/blog/dba/k8s/images/docker_centos7.5.1804.tar.gz

# 镜像相关

  • 登录私有镜像仓库

docker login docker.io

auth存放文件:/root/.docker/config.json,echo "XXXX"|base64 -d

  • 搜索镜像

docker search centos

  • 拉取镜像

docker pull docker.io/centos

  • 导出镜像

docker save docker.io/centos:centos7.5.1804 > docker_centos7.5.1804.tar.gz

  • 导入镜像(带版本号)

docker load -i docker_centos7.5.1804.tar.gz

  • 提交镜像

docker commit ce0a21e9b21f nginx1.16:v1

docker commit -p ce0a21e9b21f nginx1.16:v1

-p:类似快照

  • 查看镜像描述

docker inspect ce0a21e9b21f

  • 查看镜像构建历史

docker history nginx-web:v4

# 逻辑卷相关

  • 创建逻辑卷

docker volume create --name test

  • 查看逻辑卷信息

docker volume ls

docker volume inspect test

  • 删除逻辑卷

docker volume rm name1 name2

  • 创建容器,挂载目录,逻辑卷

docker run -d -p 80:80 -p 80:81 -v name1:/usr/share/nginx/html/ -v /data:/opt/wwwroot nginx:latest

# 网络相关

  • 列所有列表的网络

docker network ls

  • 不指定网络驱动时默认创建的bridge网络

docker network create default_network

  • 查看网络内部信息

docker network inspect default_network

  • 移除指定的网络

docker network rm default_network

  • 容器间互联

docker run -d --link nginx-web:v4

# 自定义网卡(版本1.13.1)

  • 创建桥接网卡

brctl 工具包:yum install bridge-utils -y

添加设备: brctl addbr br1

指定IP: ip addr add dev br1 10.0.10.1/24

启动桥接网卡IP: ip link set dev br1 up

添加配置,重启服务

cat /etc/sysconfig/docker-network
DOCKER_NETWORK_OPTIONS="-b=br1"

systemctl restart docker
1
2
3
4
# https://download.yfklife.cn/blog/public/docker/runc-1.0.1.amd64
# https://download.yfklife.cn/blog/public/docker/runc-1.0.3.amd64

1
2
3
//
点击 -->> 给博主买咖啡 (opens new window)
上次更新: 2022/12/19, 17:57:33
Docker知识点

Docker知识点→

最近更新
01
Pod探针
12-20
02
kubeadm证书替换
12-20
03
kubeadm安装k8s(版本1.26.0)
12-16
更多文章>
Theme by Vdoing | Copyright © 2019-2023 yangfk | 湘ICP备2021014415号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
//