【工具】Docker 入门及常用指令

SueWakeup

                                                      个人主页:SueWakeup

                                                      系列专栏:为祖国的科技进步添砖Java

                                                      个性签名:保留赤子之心也许是种幸运吧

 

目录

1. 什么是 Docker ?

2. Docker 安装

3. Docker 镜像

4. Docker 容器

4.1 运行容器

4.2 查看正在运行的容器

4.3 停止容器运行

4.4 启动容器

4.5 删除容器(只能删除停止运行的容器)

5. 案例:Docker 安装 MySql

5.1 下载镜像

5.2 创建环境目录

5.3 主 mysql 容器运行

5.4 配置 mysql 权限账户

5.5 登录主服务器 mysql

5.6 修改密码和设置从服务器登录用户

6. 案例:Docker 安装 Mongo

6.1 下载镜像

6.2 运行 mongo

6.3 进入 mongo 容器

 注:手机端浏览本文章可能会出现 “目录”无法有效展示的情况,请谅解,点击侧栏目录进行跳转  


1. 什么是 Docker ?

Docker 是基于 Go语言实现的开源项目,用于开发、运行和管理应用程序,利用容器化技术,能够将应用程序及其依赖项打包到一个可移植的容器中,从而实现跨平台部署

主要目标: “Build,Ship and Run Any App,Anywhere”,通过对应的组件的封装、分发、部署、运行等生命周期管理,让用户 APP 及运行环境能够做到 “一次封装,到处运行”


2. Docker 安装

  1. 启动:systemctl start docker
  2. 查看状态:ststemctl status docker
  3. 测试:docker run hello-world
  4. 查看 docker 版本信息:docker version

3. Docker 镜像

  • 获取镜像网站:https://hub.daocloud.io/
  • 获取镜像:docker pull 镜像名称
  • 查看本地所有镜像:docker images
  • 删除本地镜像:docker rmi 镜像标识

4. Docker 容器

4.1 运行容器

docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识

参数解释:

        -d:代表后台执行

        -p:将当前 Linux 的端口和容器的端口号进行映射

        --name:容器的名字

4.2 查看正在运行的容器

docker ps -qa

参数解释:

        -a:所有的容器(包括没有运行的容器)

        -q:只查看标识

4.3 停止容器运行

docker stop 容器标识

4.4 启动容器

docker start 容器标识

4.5 删除容器(只能删除停止运行的容器)

docker rm 容器标识docker rm -f 容器标识(强制删除容器,即使正在运行)

5. 案例:Docker 安装 MySql

5.1 下载镜像

docker pull daocloud.io/libary.mysql:8.0.16

5.2 创建环境目录

cd /usr/local/
mkdir mysql
cd mysql
mkdir master-data

5.3 主 mysql 容器运行

docker run --name mysql-master --privileged=true -v /usr/local/mysql/masterdata:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d 
daocloud.io/library/mysql:8.0.16 --character-set-server=utf8 --server-id=1 --
lower_case_table_names=1

参数:

        --privileged:指定当前容器是否真正的具有 root 权限

        -p:表示宿主机上的某个端口映射到 docker 容器内的某个端口

        -d:参数制定了当前容器是在后台运行

        --server-id:设置服务器的编号,主从复制的每一个服务的编号都不能相同

5.4 配置 mysql 权限账户

docker exec -it mysql-master /bin/bash

5.5 登录主服务器 mysql

mysql -uroot –p

5.6 修改密码和设置从服务器登录用户

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
CREATE USER 'slave_one'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'slave_one'@'%';
CREATE USER 'slave_two'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'slave_two'@'%';
flush privileges;

6. 案例:Docker 安装 Mongo

6.1 下载镜像

docker pull mongo:5.0.3

6.2 运行 mongo

docker run -itd --name mongoserver -p 27017:27017 mongo:5.0.3

6.3 进入 mongo 容器

docker exec -it mongoserver mongosh

 

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

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

相关文章

milvus安装

milvus安装 sudo curl -L “https://github.com/docker/compose/releases/download/1.29.2/docker-compose- $ (uname -s)- $ (uname -m)” -o /usr/local/bin/docker-compose sudo chmod x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/…

代码随想录算法训练营第二十九天 | 491. 非递减子序列、46. 全排列、47.全排列 II

代码随想录算法训练营第二十九天 | 491. 非递减子序列、46. 全排列、47.全排列 II 491. 非递减子序列题目解法 46. 全排列题目注意解法 47.全排列 II题目解法 感悟 491. 非递减子序列 题目 解法 使用unordered_set去重 class Solution { private: vector<vector<int&g…

Day62:WEB攻防-PHP反序列化CLI框架类PHPGGC生成器TPYiiLaravel等利用

目录 反序列化链项目-PHPGGC&NotSoSecure NotSoSecure(综合类) PHPGGC(单项类) 反序列化框架利用-ThinkPHP&Yii&Laravel [安洵杯 2019]iamthinking Thinkphp V6.0.X 反序列化 CTFSHOW 反序列化 267 Yii2反序列化 CTFSHOW 反序列化 271 Laravel反序列化 知识…

Linux入门-常见指令及权限理解

目录 1、Linux背景 1.1、发展历史 1.2、开源 1.3Linux企业应用现状 2、Linux下的基本命令 2.1、ls 指令 2.2、pwd 命令 2.3、cd 命令 2.4、touch命令 2.5、mkdir 命令 2.6、rmdir 指令和 rm指令 2.7 man 指令 2.8、cp指令 2.9、mv 指令 2.10 cat 2.11 more 2…

掌握 Istio:部署完成后如何运用?

一、环境情况 环境&#xff1a;Ubuntu20.04 机器数量&#xff1a;单机1台 IP&#xff1a;10.9.2.83 二、准备知识 为什么使用 Istio&#xff1f; Istio提供了一种更高级别的服务网格解决方案&#xff0c;它可以简化和加强 Kubernetes 集群中的服务间通信、流量管理、安全…

C++ STL(交集、并集)

交集、并集&#xff1a;set_intersection()、set_union()) 1.交集(求两个数组共同有的元素) #include <bits/stdc.h> using namespace std;const int N 11111;int x[N],y[N];int n;vector<int> vt;int main() {cin>>n;for(int i0;i<n;i) cin>>x[…

如何利用RunnerGo简化性能测试流程

在软件开发过程中&#xff0c;测试是一个重要的环节&#xff0c;需要投入大量时间和精力来确保应用程序或网站的质量和稳定性。但是&#xff0c;随着应用程序变得更加复杂和庞大&#xff0c;传统的测试工具在面对比较繁琐的项目时非常费时费力。这时&#xff0c;一些自动化测试…

Visual Studio 2013 - 输出窗口一闪而过问题解决

Visual Studio 2013 - 输出窗口一闪而过问题解决 1. Visual Studio Console 一闪而过问题解决1.1. set Debug1.2. set Release References 1. Visual Studio Console 一闪而过问题解决 工程 -> 属性 -> 配置属性 -> 链接器 -> 系统 -> 子系统 -> 下拉框 -&g…

进程及进程状态

1.PCB及task_struct 进程信息被放在一个叫做进程控制块的数据结构中&#xff0c;可以理解为进程属性的集合。 书上称之为 PCB &#xff08; process control block &#xff09;&#xff0c; Linux 操作系统下的 PCB 是 : task_struct。 task_struct是PCB的一种。 task_struc…

西瓜书机器学习AUC与ℓ-rank(loss)的联系理解以及证明(通俗易懂)

前言 在学习到这部分时&#xff0c;对 ℓ-rank 以及AUC的关系难以理解透彻&#xff0c;在网上看到其他博主也并未弄明白&#xff0c;大家大多写自己的理解&#xff0c;我希望您在看完这篇文章时能够深刻理解这二者的关系&#xff0c;如果我的理解有误&#xff0c;希望您在评论…

JAVA实战开源项目:无代码动态表单系统(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 动态类型模块2.2 动态文件模块2.3 动态字段模块2.4 动态值模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 动态类型表3.2.2 动态文件表3.2.3 动态字段表3.2.4 动态值表 四、系统展示五、核心代码5.1 查询档案类型5.…

实现接口自动化测试

最近接到一个接口自动化测试的case&#xff0c;并展开了一些调研工作&#xff0c;最后发现&#xff0c;使用pytest测试框架并以数据驱动的方式执行测试用例&#xff0c;可以很好的实现自动化测试。这种方式最大的优点在于后续进行用例维护的时候对已有的测试脚本影响很小。当然…

基于SWAT-MODFLOW地表水与地下水耦合实践技术教程

原文链接&#xff1a;基于SWAT-MODFLOW地表水与地下水耦合实践技术教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247598169&idx3&sn16d726694ca77f9cda3aa95716a18cc1&chksmfa8201becdf588a846bc1d461b8c985536e6191e7288df035e5bef6fc85b933030f…

【二分查找】算法例题

目录 十八、二分查找 114. 搜索插入位置 ① √- 115. 搜索二维矩阵 ② 116. 寻找峰值 ② √- 117. 搜索旋转排序数组 ② 118. 在排序数组中查找元素的第一个和最后一个位置 ② √ 119. 寻找寻钻排序数组中的最小值 ② 120. 寻找两个正序数组的中位数 ③ 136. 直线上最多…

顺序表的动态分配基本操作

#include <stdio.h> #include <stdlib.h>// 顺序表存储空间动态分配 #define InitSize 10 // 顺序表初始长度 typedef int ElemType; // int类型重命名为ElemType&#xff0c;方便后续调整typedef struct { // 定义结构体ElemType *data; // 用静…

Rust Rocket简单入门

简介 Rust中最知名的两个web框架要数Rocket和Actix了&#xff0c;Rocket更注重易用性&#xff0c;Actix则更注重性能。这里只是了解一下Rust下的WebAPI开发流程&#xff0c;就学一下最简单的 Rocket。 Rocket 是一个用于 Rust 的异步 Web 框架&#xff0c;专注于可用性、安全性…

python网络爬虫实战教学——urllib的使用(1)

文章目录 专栏导读1、前言2、urllib的使用3、发送请求3.1 urlopen3.2 request 专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN 数据分析领域优质创作者&#xff0c;专注于分享python数据分析领域知识。 ✍ 本文录入于《python网络爬虫实战教学》&#xff0c;本专栏针对…

113 链接集10--ctrl+左键单击多选

1.ctrl+左键单击多选,单击单选 精简代码 <div class="model-list"><div@mousedown.prevent="handleClick(item, $event)"class="model-list-item"v-for="item in modelList":key="item.id":class="{ model-a…

[leetcode] 45. 跳跃游戏 II

文章目录 题目描述解题方法贪心java代码复杂度分析 题目描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0…

重装系统后鼠标识别不了咋办

不知道大家在重装系统时,有没有遇到过系统重装完成后,鼠标不能使用的情况。在这种情况下,我们要怎么操作电脑解决这个问题呢?今天就跟大家分享重装系统后鼠标识别不了咋办。 一、主板没有设置兼容usb 在重装系统时,如果主板没有设置兼容usb,就会出现鼠标使用不了的现象。…