当前位置: 首页 > news >正文

Docker学习与实战

一、Docker安装

移除旧版本docker

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

配置docker yum源

sudo yum install -y yum-utils

配置阿里云docker仓库

sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 最新 docker

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动& 开机启动docker

systemctl enable docker --now

配置加速

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

二、Docker常用命令

#查看运行中的容器
docker ps
#查看所有容器
docker ps -a
#搜索镜像
docker search nginx
#下载镜像
docker pull nginx
#下载指定版本镜像
docker pull nginx:1.26.0
#查看所有镜像
docker images
#删除指定id的镜像
docker rmi e784f4560448
#运行一个新容器
docker run nginx
#强制删除指定容器
docker rm -f 592
# 后台启动并暴露端口
docker run -d --name mynginx -p 80:80 nginx
# 进入容器内部
docker exec -it mynginx /bin/bash
# 登录 docker hub
docker login
# 重新给镜像打标签
docker tag mynginx:v1.0 marlon/mynginx:v1.0
# 推送镜像
docker push marlon/mynginx:v1.0
#自定义网络
docker network create mynet

三、安装Mysql

docker run -d -p 3306:3306 \
-v /app/myconf:/etc/mysql/conf.d \
-v /app/mydata:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=marlon \
mysql:8.0

四、安装Nginx

docker run -d -p 80:80 -v 外部目录:内部目录 --name 名称 镜像名称

docker run -d -p 3000:80 \
-v /app/mynginx/html:/usr/share/nginx/html \
-v ngconf:/etc/nginx \
--name nginx\
nginx

卷映射

-v ngconf:/etc/nginx 默认位置在/var/lib/docker/volumes/

查看卷位置

docker volume inspect 卷name
eg:
docker volume inspect ngconf 

五、安装redis主从

下载bitnami镜像

docker pull bitnami/redis:latest

启动master服务

docker run -d -p 6379:6379 -v /app/redisDataM:/bitnami/redis/data -e REDIS_REPLICATION_MODE=master -e REDIS_PASSWORD=123456 --network mynet --name redis-master bitnami/redis

可能会启动不成功,不成功的原因是因为文件夹权限的问题。

授权文件夹最高权限

chmod -R 777 redisDataM
mkdir redisDataS
chmod -R 777 redisDataS

重新启动没有启动成功的redis-master服务

docker restart redis-master

启动redis-slave服务

docker run -d -p 6380:6379 -v /app/redisDataS:/bitnami/redis/data -e REDIS_REPLICATION_MODE=slave -e REDIS_MASTER_HOST=redis01 -e REDIS_MASTER_PORT_NUMBER=6379 -e REDIS_MASTER_PASSWORD=123456 -e REDIS_PASSWORD=123456 --network mynet --name redis-slave bitnami/redis

六、根据dockerfile文件构建镜像

上传jar包,并在同级目录下新建Dockerfile文件

vi DockerfileFROM openjdk:17
LABEL author=marlon
EXPOSE 9000
COPY cp-system-start-3.7.0.jar /app/cp-system-start-3.7.0.jar
ENTRYPOINT ["java","-jar","/app/cp-system-start-3.7.0.jar"]按esc并输入:wq回车保存文件

制作镜像

docker build -f Dockerfile -t cp-system:v1.0 .

运行制作的镜像

docker run -d -p 9000:9000 cp-system:v1.0

查看镜像是否启动成功

docker ps -a

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringSecurity如何正确的设置白名单
  • MySQL中多表查询之外连接
  • 网络基础之(11)优秀学习资料
  • Linux - 进程的概念、状态、僵尸进程、孤儿进程及进程优先级
  • 蓝桥杯 2024 年第十五届省赛真题 —— 最大异或结点
  • Linux系统编程——生产者消费者模型
  • python基础---2.流程控制及函数
  • 2024Summer周报三
  • nodejs - express 学习笔记
  • 【Qt 】JSON 数据格式详解
  • 【传知代码】智慧医疗:纹理特征VS卷积特征(论文复现)
  • 计算机网络 6.1Internet概念
  • STM32 裸机 LWIP RAW接口 TCP客户端和服务端,以及UDP收发实现
  • Binius-based zkVM:为Polygon AggLayer开发、FPGA加速的zkVM
  • python机器学习8--网络
  • [ JavaScript ] 数据结构与算法 —— 链表
  • Angular6错误 Service: No provider for Renderer2
  • const let
  • docker容器内的网络抓包
  • EOS是什么
  • JavaScript函数式编程(一)
  • JAVA之继承和多态
  • MaxCompute访问TableStore(OTS) 数据
  • PAT A1050
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Vue2.x学习三:事件处理生命周期钩子
  • windows下如何用phpstorm同步测试服务器
  • 关于字符编码你应该知道的事情
  • 前端技术周刊 2019-02-11 Serverless
  • 让你的分享飞起来——极光推出社会化分享组件
  • 深度解析利用ES6进行Promise封装总结
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 硬币翻转问题,区间操作
  • PostgreSQL之连接数修改
  • # C++之functional库用法整理
  • %check_box% in rails :coditions={:has_many , :through}
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (SpringBoot)第二章:Spring创建和使用
  • (八)Flask之app.route装饰器函数的参数
  • (补)B+树一些思想
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四)js前端开发中设计模式之工厂方法模式
  • (一)Neo4j下载安装以及初次使用
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • .NET Core 成都线下面基会拉开序幕
  • .Net Core 微服务之Consul(二)-集群搭建
  • .NET Micro Framework初体验(二)
  • .Net OpenCVSharp生成灰度图和二值图
  • .NET 常见的偏门问题
  • .NET 指南:抽象化实现的基类
  • .NET/C#⾯试题汇总系列:⾯向对象