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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 运行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 仓库

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

Docker常用命令


Docker安装Mysql


Docker安装Redis


自定义Docker镜像提交

提交容器镜像

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

在这里插入图片描述

  • 停止redis
docker stop redis

在这里插入图片描述

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

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

在这里插入图片描述


游离镜像

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

在这里插入图片描述

  • 游离镜像删除
docker image prune

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  • 测试连接

在这里插入图片描述



转存Docker容器镜像

转存容器

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

在这里插入图片描述

  • 拷贝到其他服务器
scp /home/redis6/myRedis.tar root@192.168.227.128:/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]

在这里插入图片描述

  • 拷贝到其他服务器
scp /home/redis6/myRedis.tar root@192.168.227.128:/home/redis6/
  • 加载镜像
docker load -i myRedis.tar

在这里插入图片描述

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

在这里插入图片描述

  • 测试连接

在这里插入图片描述



推送Docker镜像到云仓库

![在这里插入图片描述](https://img-blog.csdnimg.cn/b8ac2c46058746e599b4fb0e8b877e0e.png

  • 登录docker hub
docker login

在这里插入图片描述

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

在这里插入图片描述

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

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

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

Docker可视化界面

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

在这里插入图片描述


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

在这里插入图片描述

  • 创建数据卷
docker volume create portainer_data

在这里插入图片描述

  • 运行容器
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

在这里插入图片描述

  • 设置用户和密码后进入

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


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

posted @ 2023-04-02 22:57  Maggieq8324  阅读(75)  评论(0编辑  收藏  举报