侧边栏壁纸
博主头像
叶落无痕

鸿雁长飞光不度,鱼龙潜跃水成文。

  • 累计撰写 11 篇文章
  • 累计创建 7 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Docker安装配置

yeluo
2024-11-25 / 0 评论 / 0 点赞 / 10 阅读 / 0 字
温馨提示:
本文最后更新于2024-11-25,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1. 安装命令

# 安装需要的软件包 
# yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 设置yum源,这里设置为阿里云,如果不设置将会连接国外的站点,可能会安装失败
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装docker,这里安装的是docker-ce(社区版),而docker-ee是企业版,是收费的
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 等待安装,查看版本
docker -v

# 设置常用的镜像仓库
vi /etc/docker/daemon.json
# 内容如下
{
  "registry-mirrors":[
     "https://t59l4t8b.mirror.aliyuncs.com",
     "https://hub-mirror.c.163.com/",
     "https://docker.mirrors.ustc.edu.cn/",
     "http://hub-mirror.c.163.com/",
     "http://registry.docker-cn.com"
  ]
}

# 设置常用的镜像仓库....
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker




# 修改 docker 默认网段(bridge、docker0 的网段)
vi /etc/docker/daemon.json
# 增加 bip 配置,此处必须填写一个有效 ip 地址,否则会导致 docker 无法启动,
# 提示:failed to allocate gateway Address already in use
{
  "bip": "192.168.1.1/24"
}

# 为dockerd 设置网络代理 --重启生效
# docker的网络是隔离的,外部设置代理了,对docker不生效,需单独设置
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf
# 在这个proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容:   
[Service]
Environment="HTTP_PROXY=http://192.168.30.204:31080/"
Environment="HTTPS_PROXY=http://192.168.30.204:31080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"


# 重启 docker 即可生效
systemctl daemon-reload
systemctl restart docker

为docker设置网络代理

2. 常用命令

2.1 docker命令(systemctl 命令是系统服务管理器指令)、

# 启动docker
systemctl start docker

# 停止docker
systemctl stop docker

# 重启docker
systemctl restart docker

# 开机启动:
systemctl enable docker

# 查看docker概要信息
docker info

# 查看docker帮助文档
docker --help

2.2 镜像相关命令

# 查看镜像
#   REPOSITORY:镜像名称  
#   TAG:镜像标签   
#   IMAGE ID:镜像ID  
#   CREATED:镜像的创建日期(不是获取该镜像的日期)   
#   SIZE:镜像大小
docker images

# 搜索镜像命令
#   NAME:仓库名称
#   DESCRIPTION:镜像描述
#   STARS:用户评价,反应一个镜像的受欢迎程度
#   OFFICIAL:是否官方
#   AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
docker search 镜像名称

# 拉取镜像
# 拉取镜像就是从中央仓库中下载镜像到本地,如果不指定tag则默认是lastest版本,如果要指定版本,则加上“:”然后制定名称
docker pull 镜像名称

# 删除镜像
# 按镜像ID删除镜像
docker rmi 镜像ID
# 删除所有镜像
docker rmi docker images -q

2.3 容器相关命令

# 查看正在运行的容器
docker ps

# 查看所有容器(包括运行的和未运行的)
docker ps –a

# 查看最后一次运行的容器
docker ps –l

# 查看停止的容器
docker ps -f status=exited

# 创建容器命令:
#    - i:表示运行容器
#    - t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
#    - -name :为创建的容器命名(容器名称不能重复)。
#    - v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
#    - d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
#    - p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
#
#    1.交互式方式创建容器,即当我们退出容器时,容器也停止运行了
docker run -it --name=容器名称 镜像名称:标签 /bin/bash

#    2.守护式方式创建容器
docker run -id --name=容器名称 镜像名称:标签
#    进入守护式容器:
docker exec -it 容器名称(或者容器ID)  /bin/bash

3.停止与启动容器

# 启动容器
docker start 容器名称(或者容器ID)

# 停止容器:
docker stop 容器名称(或者容器ID)

# 删除指定的容器:
docker rm 容器名称(容器ID)

2.4 私有仓库搭建与配置

(1)拉取私有仓库镜像

# 1. 拉取私有仓库镜像
docker pull registry
# 2. 启动私有仓库容器
docker run -di --name=registry -p 5000:5000 registry
# 3. 打开浏览器 输入地址http://192.168.xxx.xxx:5000/v2/_catalog看到{"repositories":[]} 表示私有仓库搭建成功并且内容为空

# 4. 修改daemon.json 
vi /etc/docker/daemon.json
# 添加以下内容,保存退出 用于让 docker信任私有仓库地址
{"insecure-registries":["[192.168.xxx.xxx:5000](<http://192.168.xxx.xxx:5000/>)"]}

# 5. 重启docker 服务
systemctl restart docker

0

评论区