ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

这样搭建本地开发环境,写代码美滋滋……

2021-04-22 19:03:38  阅读:129  来源: 互联网

标签:name -- 美滋滋 本地 mysql 镜像 docker latest 搭建


前言

Docker作为一个重要的云容器,在目前的线上部署环境中被广泛应用,甚至很多公司已经在用K8S了,但是我们绝大多数后端开发小伙伴可能连Docker这样的容器都还没有真正使用过,今天我们就简单的开箱一下这一款迷之容器,揭开它神秘的面纱。

最近又开始上手折腾Docker,是因为新公司的应用都是部署在云环境的,而且服务比较多,为了快速搭建本地开发环境,所以我就又一次拾起了尚未入门的docker,探索一下它真实的面目,今天讲的内容会比较浅显,保证你上手能用,高级用法等我研究透了再说,另外最近我也接触了ES的一些内容,后面应该会抽时间研究琢磨,等到我觉得时候分享的时候,我会发出来的。

另外说一句,最近一直没有更新什么技术内容,原因之前说过了,现在所有的事情都很顺利,所以技术学习更新从这周开始恢复正常,后面就开始漫长的、无止境的学习之路,让我们一起进步吧!!!!

Docker安装

下载

直接访问docker官网进行下:

https://www.docker.com/products/docker-desktop

选择选择对应的版本,这里我的操作系统是windows

安装

安装过程很简单,双击下载好的exe文件,其他操作系统类似,然后等待安装完成,因为当前系统已经安装过了,所以我就没法演示了,网上爬了一张图:

启停docker服务

一般安装成功后会自动启动docker服务,如果没有启动,你可以手动启动,这里以win10为例:

在任务栏右边找到docker的小图标,右键选择自己需要的操作,即可对docker服务进行启停。如果任务栏没有docker的小图标,可以在桌面双击运行docker应用快捷方式进行启动

docker简单配置

因为docker并非国内产物,所以在下载相关镜像资源的时候特别慢,为了提高我们资源的下载速度,我们需要配置docker的镜像信息,右键任务栏docker小图标,打开docker的控制面板(或者双击小图标):

点击设置按钮,选择docker Engine,修改其中registry-mirrors的配置信息:

配置信息是json格式:

"registry-mirrors": [
    "https://reg-mirror.qiniu.com/",
    "https://docker.mirrors.ustc.edu.cn/",
    "https://hub-mirror.c.163.com/"
  ]

其中第一个地址是七牛的镜像,第二个是中科大的镜像,最后一个是网易的镜像。配置完成后,下载资源速度会特别快,不信的小伙伴可以对比下。

基本操作

下面是一些常用的操作,小伙伴们可以参考下:

基本命令

1. 拉取镜像

$ docker pull ubuntu:latest
#或者
$ docker pull ubuntu

解释下上面的命令,ubuntu表示镜像资源的名称,latest表示版本信息,如果不加版本信息,一般会默认拉取最新版本,也就是latest,当然你也可以根据自己的需要指定版本信息。

所以,上面命令的作用就是将ubuntu的最新镜像拉至本地仓库,一般在拉取镜像资源之前,我们都会先通过docker search搜索一下镜像资源,确保资源存在。

2. 查看本地镜像

$ docker images

上面这个命令就很简单,就是展示本地已经拉取的镜像资源:

3. 运行容器

$ docker run -itd --name ubuntu-test ubuntu

这个命令应该是最常用的,表示运行某个镜像,但是针对不同的镜像指令可能会有差异,我们在具体使用的时候根据自己的需要进行添加,相信的指令我们后面在详细研究。

上面命令的作用是,启动ubuntu的镜像,镜像实例的名称为ubuntu-test,因为我们没有加版本号,所以默认使用的镜像资源是latest,如果latest版本不存在,就会报错

4. 搜索镜像

$ docker search image-name

例如:

$ docker search redis

5. 常用操作

下面是一些常用组件在docker中的部署、启动操作命令,各位小伙伴可以参考下:

安装并运行nginx
# 拉取最新版本
$ docker pull nginx:latest
# 启动运行
$ docker run --name nginx-test -p 8080:80 -d nginx

其中,name和前面一样,表示启动的实例名称;p表示端口号,8080:80表示将本地的8080端口映射到docker80端口,这时候我们就可以通过当前主机de8080端口来访问我们docker中的nginxd表示在后台运行,这时候就算你关闭了启动的命令行窗口,容器依然会正常运行;最后面的nginx其实是我们偷懒省略了:latest,它等同于nginx:latest

安装并运行mysql
# docker 中下载 mysql
$ docker pull mysql

#启动
$ docker run --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.19

#进入容器
$ docker exec -it mysql bash

#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

#添加远程登录用户
CREATE USER 'syske'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'syske'@'%';

这里大部分的参数都和前面的作用一样,唯一不同的是多了e,这里-e的作用是设置环境变量,也就是说MYSQL_ROOT_PASSWORD=root是要设置的环境变量,作用就是设置root用户的密码。

这里再增加另一个版本:

$ docker run --rm --name mysqlTemp -it -v /usr/local/mysql/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456  mysql:5.7 /bin/bash

$ cp /etc/mysql/my.cnf /var/lib/mysql

-- rm 退出后就删除该容器

-v /usr/local/mysql/:/var/lib/mysql 装主机目录/usr/local/mysql/映射Docker中的/var/lib/mysql目录

-it 交互模式

/bin/bash 进入 bash 命令模式

上面这几种启动方式,在实际使用中重启docker容器之后,数据都会丢失,为了能够在下次启动容器的时候数据还在,我们要用下面的启动命令:

$ docker run -p 3306:3306 -d -e MYSQL_ROOT_PASSWORD=密码 -v /windows盘符/指定的文件夹路径:/var/lib/mysql    mysql:5.7
安装并运行redis
# 拉取最新版本镜像
$ docker pull redis:latest
# 启动运行
$ docker run -itd --name redis-test -p 6379:6379 redis
$ docker run --name redis-test -p 6380:6379 redis --requirepass 123456
#前边是宿主机端口 后面是docker使用的端口

参数大部分都和前面一致,--requirepas是这只redis的访问密码

和上面mysql一样,为了确保存储数据下次可以被加载,我们要用下面的启动命令

docker run -p 6379:6379 -d  -v /windows盘符/指定的文件夹路径:/data    redis:5.0 redis-server --appendonly yes
安装activemq
$ docker run -d --name myactivemq -p 61616:61616 -p 8162:8161 docker.io/webcenter/activemq:latest

这里没什么特殊的参数,不做过多说明

安装zookeeper
$ docker run -d --name zookeeper-test -p 2181:2181 zookeeper

查看所有容器

$ docker ps -a

这里就是查看docker的进程,和linuxps命令类似,看到这个命令我就猜到她肯定还有另一个命令:

$ docker kill pid

然后我试了下,果然有效,依然和linux类似

启动已存在容器

$ docker start 容器ID

结语

原本打算通过docker搭建本地开发测试环境的,但是新公司采用的都是线上集成开发环境,所以目前这块仅用于日常学习和练习。虽然这次了解的不多,但是我还是发现用docker搭建本地开发测试环境简直美滋滋,而且美的不要不要的,你想想原来你每次搞个测试环境要安装这个组件,又要安装那个组件,有了docker一行命令一个组件就可以搞定了,而且如果环境出现问题了,还可以把容器删除了重头再来,而不像本地,搞坏了,重新安装还会出现各种问题,所以小伙伴们,赶紧把docker用起来,开发真的美滋滋!

标签:name,--,美滋滋,本地,mysql,镜像,docker,latest,搭建
来源: https://www.cnblogs.com/caoleiCoding/p/14690973.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有