docker 看懂这一篇文章就够了

news2024/11/29 11:47:31

docker就像是手机的应用商店,有了应用商店,就不用自己一个app一个app(微服务开发所需要的中间件)去百度搜索下载,可以在应用商店里面一键下载(使用简单的docker命令即可)

总之就是一句话,docker  pull  镜像名  拉取镜像

然后运行这个镜像就成了一个容器

docker中三个核心概念:

(1)镜像 Image    要安装的软件的源文件+这个软件运行需要的环境,去dockerhub搜索你想要的软件镜像(比如搜索nginx)

(2)容器 Container   容器是镜像运行时的实体,就像安装包被安装之后,运行时的运行程序,容器可以被创建,启动,停止,删除,暂停

(3)仓库 Repository   存放安装包(镜像)的仓库,用来保存镜像的地方

我们要做的就是从仓库中获取镜像,然后运行这个镜像成容器

 docker的安装

  1. 清空原有组件残留(卸载旧版本)

yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce

2.设置docker仓库

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker. 安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken

 3.配置yum阿里镜像

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

 4.安装docker   docker-ce为社区免费版本(注意这一步虚拟机需要联网)

yum install -y docker-ce

 5.关闭防火墙

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

 6.启动和停止docker

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

docker -v  #查看docker版本

7.配置docker阿里镜像   更新docker对应的仓库,为阿里镜像,提升下载速度!

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

docker命令

常用的命令其实都在这张图里面:

基本练习:拉取nginx镜像

https://hub.docker.com/search?q=nginx去这个网站搜索nginx

docker pul  nginx:1.23(指定版本)

 

容器相关命令:

 docker ps查看当前正在运行的容器(现在显然是没有容器正在运行的)

运行nginx镜像成容器(即启动容器)

 

 docker  run   --name  mynginx  -p  80:80  -d  nginx

--name  后面带的参数表示你给这个容器起的名字,比如这里就给这个容器起名  mynginx

-p后面带的参数表示    其他主机的端口号:这个容器占用的端口号

-d 后面带的参数表示本次要启动的镜像名  启动nginx镜像

此时再输入docker ps命令查看正在运行的容器,果然出现了mynginx这个容器:

 你在浏览器中输入虚拟机的ip地址就可以访问到nginx页面了

 

使用docker安装一些软件  mysql,redis,rabbitmq,elasticsearch

(1)安装mysql

下载mysql镜像 : docker  pull  mysql

运行docker镜像:

docker run --name msql -v /msql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

 查一下,果然容器msql正在运行

 docker  exec  -it  msql  bash

 

 继续执行连接命令 用户名和密码都是root

 退出就是exit

(2)安装rabbitmq

拉取镜像  docker pull  rabbitmq

启动镜像变成容器:(设置账号为root,密码为123456)

docker run \
 -e RABBITMQ_DEFAULT_USER=root \
 -e RABBITMQ_DEFAULT_PASS=123456 \
 --name mq \
 --hostname mq1 \
 -p 15672:15672 \
 -p 5672:5672 \
 -d \
 rabbitmq:3-management

外界访问rabbitmq,服务器的ip地址:15672

 输入账号密码即可

 (3)安装redis

拉取镜像docker  pull  redis

启动容器:

 docker run --name myredis -p 6379:6379 -d redis redis-server --appendonly yes
 # 创建和启动容器
 redis-server --appendonly yes 设置持久化手段

docker exec -it myredis redis-cli

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ubuntu20.04安装4090驱动

实验室配置了一台新主机&#xff0c;现在安装好了20.04&#xff0c;为了安装4090的驱动查找了很多资料。接下来记录一下安装4090驱动的过程&#xff0c;为方便未来安装其他的显卡驱动。 首先推荐一个视频&#xff0c;在为查找了很多资料后&#xff0c;发现这个视频讲的实在是太…

【SQL】无列名查询表中数据

目录 【SQL】无列名查询表中数据 拓展 如果mysql中 information_schema 使用不了&#xff0c;怎么查询所有的数据库名&#xff0c;表名&#xff1f; 【SQL】无列名查询表中数据 有些时候&#xff0c;我们可能获取不了mysql数据库&#xff0c;表中的字段名称&#xff0c;那么…

基于Java+SpringBoot+vue+element实现扶贫助农政策平台系统

基于JavaSpringBootvueelement实现扶贫助农政策平台系统 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写> 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术…

0基础快速入门Python数据挖掘

推荐教程&#xff1a;4天快速入门Python数据挖掘 课程简介 该阶段主要是介绍一些数据科学领域用Python语言实现的基础库&#xff0c;如简洁、轻便的数据可视化展示工具Matplotlib&#xff0c;高效的运算工具Numpy&#xff0c;方便的数据处理工具Pandas&#xff0c;为人工智能阶…

疑难杂症之anaconda虚拟环境安装还有anaconda无数次的卸载重装

教训&#xff1a;使用虚拟环境无数次重装& 卸载彻底删除命令&#xff1a;打开cmd --> 输入一下命令conda install anaconda -cleananaconda -clean --yes生成的备份文件夹可以删除**手动删除anaconda环境路径下的envs 和pkgs文件**然后从卸载界面点击正常卸载anaconda即…

Anaconda下载库(安装包)、创建虚拟环境等

conda install pak # 安装包&#xff0c;pak代表包名&#xff0c;可依次安装多个包或指定版本&#xff0c;包名之间空格分开&#xff1b; conda remove pak # 移除指定包 conda update pak # 更新包 conda upgrade --all # 更新所以包 conda search pak # …

【数组】leetcode59.螺旋矩阵II(C/C++/Java/Js)

leetcode59.螺旋矩阵II1 题目2 思路3 代码3.1 C版本3.2 C版本3.3 Java版本3.4 JavaScript版本4 总结&#xff1a;1 题目 题源链接 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1…

shell脚本之sed练习题

把/etc/passwd 复制到/root/test.txt&#xff0c;用sed打印所有行 #使用cp命令将/etc/passwd的内容复制到/root/test.txt中 [rootWilliam ~]# cp /etc/passwd /root/test.txt#采用sed命令将其打印出来 [rootWilliam ~]# sed -n p test.txt打印test.txt的3到10行 [rootWilliam…

都2023年了,还不知道怎么学习网络安全?来看看吧,很难找全的

前言 最近收到不少关注朋友的私信和留言&#xff0c;大多数都是零基础小友入门网络安全&#xff0c;需要相关资源学习。其实看过的铁粉都知道&#xff0c;之前的文里是有过推荐过的。新来的小友可能不太清楚&#xff0c;这里就系统地叙述一遍。 01.简单了解一下网络安全 说白…

逆向-还原代码之little-or-big (Interl 64)

// 源代码 #include <stdio.h> /* * 2016/9/29 yu liang. */ int test_one(void) { int i1; char *p(char *)&i; if(*p1) printf("Little_endian\n"); // Little_endian else printf("B…

cmake报错:Unsupported protocol

现象 最近在用cmake编译Apache arrow时&#xff0c;竟然报了错&#xff1a; 排查过程 最开始在网上直接搜“Unsupported protocol”&#xff0c;查到的说是因为安装的curl不支持https&#xff0c;需要先使用如下命令查询curl支持的协议&#xff1a; curl -V然而查出来却是…

微服务面试必问的Dubbo,这么详细还怕自己找不到工作?

前言 互联网的不断发展&#xff0c;网站应用的规模不断扩大&#xff0c;常规的垂直应用架构已无法应对。 服务化的进一步发展&#xff0c;服务越来越多&#xff0c;服务之间的调用和依赖关系也越来越复杂&#xff0c;诞生了面向服务的架构体系(SOA)&#xff0c; 也因此衍生出…

财富自由、技术瓶颈、面试技巧,找另一半...这些程序员最关心的问题,AI的回答神了!

距离ChatGPT发布已经好几周了&#xff0c;我还沉迷在和它的聊天当中&#xff0c;每天一遇到问题&#xff0c;我的第一反应就是先问问ChatGPT的建议&#xff0c;作为一名程序员&#xff0c;我们可能有很多问题或困惑&#xff0c;我也问问了它&#xff0c;整理了一些比较有代表性…

Nodejs三层架构的封装

nodejs三层架构开发模式 项目结构 依次在每个目录添加代码 1.在dao层下创建database.js模块,里面存放的是连接数据库的模块代码 const {connect,connection} require(mongoose); // 设置要连接的 MongoDB 服务器地址(studentsManage:要连接的数据库名称) const dbURI mong…

Unity InputSystem基础

一些概念 Action Maps 一组Action的集合为一个Action Map。可以同时有多个Action Map&#xff0c;可以进行切换&#xff0c;也可以同时运行&#xff08;监控&#xff09;。例如可以使用joystick控制角色移动&#xff0c;也可以使用joystick控制菜单。通过切换Action Map&#x…

别小看 Log 日志,它难住了我们组的架构师

Slf4j slf4j 的全称是 Simple Loging Facade For Java&#xff0c;它仅仅是一个为 Java 程序提供日志输出的统一接口&#xff0c;并不是一个具体的日志实现方案&#xff0c;就比如 JDBC 一样&#xff0c;只是一种规则而已。所以单独的 slf4j 是不能工作的&#xff0c;必须搭配…

Go后端部署服务器

go后端部署服务器方式一&#xff1a;&#xff08;最简单&#xff09; 和暑假做重点场所项目部署一样&#xff0c;简单&#xff0c;无脑&#xff0c;手动&#xff0c;麻烦 1、# 修改&#xff08;确保&#xff09;环境&#xff0c;因为服务器是linux系统 go env -w GOOSlinux …

FreeRTOS实验使用02

1:队列集使用 主要就是函数xQueueSelectFromSet 返回值的判断&#xff0c;用于判断里面的消息谁有效 Pend (or block) on multiple RTOS queues and semaphores in a set (freertos.org) 官方给的例程更好&#xff0c;更规范 2&#xff1a;任务通知使用 xR xTaskNotify(Task…

手把手教你从0到1通过 Express 完成图片上传并保存至阿里云OSS功能(附详细源码)

&#x1f9e8; 大家好&#xff0c;我是 Smooth&#xff0c;一名大三的 SCAU 前端er &#x1f64c; 如文章有误&#xff0c;恳请评论区指正&#xff0c;谢谢&#xff01; ❤ 写作不易&#xff0c;「点赞」「收藏」「转发」 谢谢支持&#xff01; 背景 近期一个项目由于缺人&…

遗传算法解决旅行商问题

问题描述旅行商问题&#xff08;TSP&#xff09;. 一个商人欲从自己所在的城市出发&#xff0c;到若干个城市推销商品&#xff0c;然后回到其所在的城市。如何选择一条周游路线&#xff0c;使得商人经过每个城市一次且仅一次后回到起点&#xff0c;并使他所走过的路径最短&…