Docker的安装与使用

目录

  • 前言
    • 环境
    • 官方文档
  • 安装Docker
    • 安装步骤
    • Docker自启动
    • 镜像设置
    • Docker 仓库
    • Docker常用命令
  • Docker安装Mysql
  • Docker安装Redis
  • 自定义Docker镜像提交
    • 提交容器镜像
    • 游离镜像
  • 转存Docker容器镜像
    • 转存容器
    • 转存镜像
  • 推送Docker镜像到云仓库
  • Docker可视化界面

前言

记录下Linuxdocker的安装与使用


环境

Centos 7 + Docker 23.0.1

官方文档

https://docs.docker.com/engine/install/centos


安装Docker

安装步骤

  • 移除老版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

Docker的安装与使用_第1张图片

  • 安装utils工具包
sudo yum install -y yum-utils

Docker的安装与使用_第2张图片

  • 设置docker远程库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

Docker的安装与使用_第3张图片

  • 安装docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Docker的安装与使用_第4张图片

Docker的安装与使用_第5张图片

在这里插入图片描述

  • 运行docker
sudo systemctl start docker

在这里插入图片描述

  • 查看docker版本
docker -v

在这里插入图片描述

  • 查看镜像列表
docker images

在这里插入图片描述

Docker自启动

  • 设置docker自启动
systemctl enable docker

在这里插入图片描述

  • 重启docker
systemctl restart docker

在这里插入图片描述


镜像设置

  • 阿里云 -》 容器镜像服务 -》 镜像工具 -》 镜像加速器
    https://cr.console.aliyun.com/cn-zhangjiakou/instances/mirrors

  • 配置镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://kc83wno8.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker的安装与使用_第6张图片

Docker 仓库

  • Docker仓库地址
https://hub.docker.com/

Docker常用命令

  • Docker常用命令参考

Docker安装Mysql

  • Docker - 安装Mysql

Docker安装Redis

  • Docker - 安装Redis

自定义Docker镜像提交

提交容器镜像

  • 查看某个容器发生的改变
docker diff redis
  • 释义
    • A: 添加的文件或目录(ADD
    • D:删除的文件或目录(DELETE)
    • C:更改的文件或目录(CHANGE)

Docker的安装与使用_第7张图片

  • 停止redis
docker stop redis

Docker的安装与使用_第8张图片

  • 提交容器镜像的变更
docker commit -a coisini -m "init new another redis" redis redis:myRedis

// 释义
-a: 作者信息
-c: 可以使用dockerfile提交
-m: 提交的备注信息
-p: 提交的时候暂停容器

Docker的安装与使用_第9张图片


游离镜像

  • 游离镜像
    再次执行上一个commit操作,当前的提交会覆盖上一个镜像,上一个提交的commit会变成none(无用镜像)

Docker的安装与使用_第10张图片

  • 游离镜像删除
docker image prune

Docker的安装与使用_第11张图片

  • 更改tag标签(两个镜像的id是一样的,只是对镜像做了标记处理不占硬盘空间)
docker tag redis:myRedis redis:myRedis-1.0

Docker的安装与使用_第12张图片

  • 运行新镜像测试
docker run -p 8379:6379 --name redis-1.0 -d redis:myRedis-1.0

Docker的安装与使用_第13张图片

  • 测试连接

Docker的安装与使用_第14张图片



转存Docker容器镜像

转存容器

  • 导出容器为tar文件
docker export -o myRedis.tar myRedis

在这里插入图片描述

  • 拷贝到其他服务器
scp /home/redis6/myRedis.tar [email protected]:/home/redis6/

在这里插入图片描述
在这里插入图片描述

  • 导入tar文件为镜像
docker import myRedis.tar redis:myRedis

在这里插入图片描述

  • 启动导入镜像(启动报错),运行导入的镜像须带上command参数

在这里插入图片描述

  • 查看原容器command参数, docker ps查看到的是缩略的,通过下面的命令查看查看完整的command
docker ps --no-trunc

在这里插入图片描述

  • 启动导入镜像
  • 可以启动成功,但无法连接,目前未找到解决方式,待完善…
docker run -p 6379:6379 --name redis -d redis:myRedis docker-entrypoint.sh redis-server /etc/redis/redis.conf

在这里插入图片描述


转存镜像

  • 保存一个或多个镜像为tar文件
docker save -o myRedis.tar redis[:tag]

Docker的安装与使用_第15张图片

  • 拷贝到其他服务器
scp /home/redis6/myRedis.tar [email protected]:/home/redis6/
  • 加载镜像
docker load -i myRedis.tar

Docker的安装与使用_第16张图片

  • 启动镜像
docker run -p 6379:6379 --name myRedis -d redis:myRedis

在这里插入图片描述

  • 测试连接

Docker的安装与使用_第17张图片



推送Docker镜像到云仓库

  • Docker仓库注册自己的账号并创建仓库

Docker的安装与使用_第18张图片

  • 登录docker hub
docker login

在这里插入图片描述

  • 使本地的tag和远程仓库的保持一致
docker tag redis:myRedis maggieq/redis:myRedis

Docker的安装与使用_第19张图片

  • 推送Docker镜像到云仓库
docker push maggieq/redis:myRedis

Docker的安装与使用_第20张图片
Docker的安装与使用_第21张图片

  • 退出docker hub
docker logout
  • 适用场景
save/load 适用于离线的生产模式
push 适用于线上环境、云模式

Docker可视化界面

  • Portainer是一个轻量级的管理UI,它由一个可以在任何Docker引擎上运行的单一容器组成(可以部署为Linux容器或Windows本地容器,也支持其他平台),Portainer可以管理所有的Docker资源(容器、镜像、卷、网络等等),它与独立的Docker引擎和Docker Swarm模式兼容

Docker的安装与使用_第22张图片


  • 拉取portainer镜像
docker pull portainer/portainer-ce

Docker的安装与使用_第23张图片

  • 创建数据卷
docker volume create portainer_data

Docker的安装与使用_第24张图片

  • 运行容器
docker run -p 8000:8000 -p 9000:9000 \
--name=portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
-d portainer/portainer-ce

在这里插入图片描述

  • 访问:http://[docker所在服务ip]:9000

Docker的安装与使用_第25张图片

  • 设置用户和密码后进入

Docker的安装与使用_第26张图片
Docker的安装与使用_第27张图片
Docker的安装与使用_第28张图片


- End -
- 个人学习笔记 -
- 仅供参考 -

你可能感兴趣的:(Docker,Docker)