Docker 之安装开发环境软件

Docker 安装 Mysql5.7

拉取官方Mysql镜像

# 拉取 mysql5.7
docker pull mysql:5.7   
# 拉取最新版mysql镜像
docker pull mysql       

创建一个Mysql容器

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
  • -v:挂载文件,启动的时候把容器中的文件映射到虚拟机文件当中
  • –name:容器名,此处命名为mysql
  • -e:配置信息,此处配置mysql的root用户的登陆密码
  • -p:端口映射,(3380)冒号前面是主机端口,(3306)冒号后面容器内部端口
  • -d:源镜像名,此处为 mysql:5.7

修改配置文件

vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

重启

docker restart mysql

进入mysql容器

docker exec -it mysql /bin/bash

查看是否成功修改

cat /etc/mysql/my.cnf

进入Mysql客户端:

mysql -h127.0.0.1 -uroot -p123456 -P3306

设置随Docker自启动

docker update mysql --restart=always

Docker 安装 Redis

拉取官方Redis镜像

docker pull redis

创建一个Redis容器

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

docker run -p 6379:6379 -d --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
redis redis-server /etc/redis/redis.conf

启动Redis客户端

docker exec -it redis redis-cli

开启 aof 持久化

vi /mydata/redis/conf/redis.conf
# 添加如下内容
appendonly yes
requirepass 123456

重启Redis服务

docker restart redis

设置随Docker自启动

docker update redis --restart=always

Docker 安装 nginx

1、拉取镜像
去docker hub,找到nginx镜像。

# 下载最新版,版本:latest
docker pull nginx
# 镜像名:版本名(标签)
docker pull nginx:1.20.1
# 查看所有镜像
docker images  
# 删除镜像,如果存在容器,需要先删除容器
docker rmi 镜像名:版本号/镜像id

2、启动容器
启动nginx应用容器,并映射88端口。

# -d:后台运行
# --restart=always: 开机自启
docker run --name=mynginx -d --restart=always -p 88:80 nginx
# 测试地址
http://192.168.56.31:88/

# 查看正在运行的容器
docker ps
# 查看所有
docker ps -a
# 删除停止的容器
docker rm  容器id/名字
# 强制删除正在运行中的容器
docker rm -f mynginx 

# 停止容器
docker stop 容器id/名字
# 再次启动
docker start 容器id/名字

# 应用开机自启
docker update 容器id/名字 --restart=always

3、修改容器内容
修改默认的index.html 页面。

# 进入容器内部的系统,修改容器内容
docker exec -it 容器id/名字  /bin/bash

4、将修改后的容器制作成新镜像
将自己修改好的镜像提交。

# 将修改好的镜像制作成一个新的镜像
docker commit -a "yangqian" -m "首页变化" 2b5a8c4d1b76  yqnginx:v1.0

# 将镜像保存成压缩包
docker save -o abc.tar yqnginx:v1.0

# 别的机器加载这个镜像
docker load -i abc.tar

5、挂载数据

# 挂载数据到外部修改
docker run --name=mynginx \
-d  --restart=always \
-p  88:80 -v /data/html:/usr/share/nginx/html:ro \
nginx

# 修改页面只需要去 主机的 /data/html
[root@centos7-node1 ~]# cd /data/html/
[root@centos7-node1 html]# echo "hello world" > index.html

6、扩展命令

# 查看日志,进行排错
docker logs 容器名/id   
# 进入容器
docker exec -it 容器id /bin/bash

# docker 经常修改 nginx 配置文件,需要提前准备好 nginx.conf 配置文件
docker run -d -p 80:80 \
-v /data/html:/usr/share/nginx/html:ro \
-v /data/conf/nginx.conf:/etc/nginx/nginx.conf \
--name mynginx \
nginx


# 把容器指定位置的东西复制出来 
docker cp 5eff66eec7e1:/etc/nginx/nginx.conf  /data/conf/nginx.conf
# 把外面的内容复制到容器里面
docker cp  /data/conf/nginx.conf  5eff66eec7e1:/etc/nginx/nginx.conf

Docker 安装 Elasticsearch

Docker 安装 Kibana

Docker 运行 Java 应用

示例代码:https://gitee.com/leifengyang/java-demo.git

1、以前开发流程

  • 编写一个SpringBoot应用。
  • SpringBoot 打包成可执行 jar。
  • 把 jar 包上传给服务器。
  • 服务器需要安装 Java。
  • 服务器运行应用 java -jar。

缺点: 需要安装 Java 运行环境,如果在别的机器运行这个应用的话,需要提前准备好 Java 环境。

2、现在
机器都安装Docker,任何应用都认为是一个镜像,所有机器都可以运行。

3、打包成镜像
(1)SpringBoot 打包成可执行 jar,并上传到服务器。
(2)编写 Dockerfile 文件进行打包。

# 基础镜像
FROM openjdk:8-jdk-slim
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY hello.jar /app.jar
# 入口
ENTRYPOINT ["java","-jar","/app.jar"]
# 构建镜像
docker build -t java-demo:v1.0 .
# 运行
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0
# 查看日志
docker logs -f [容器id]

优点: 运行应用无需安装运行环境,运行镜像即可,因为镜像已经集成了运行环境。

Docker 推送镜像到阿里云

参考: Docker push镜像到阿里云

1、登录阿里云
登录阿里云 >> 进入控制台 >> 搜索容器镜像服务
https://cr.console.aliyun.com/cn-hangzhou/instances
在这里插入图片描述
创建个人实例(上图已创建)>> 进入个人实例。
在这里插入图片描述
创建命名空间。
在这里插入图片描述
使用命名空间创建仓库(一个仓库对应一个docker镜像)>> 提交时选择本地仓库 >> 在镜像仓库列表点击管理操作(操作指南)。
在这里插入图片描述
在这里插入图片描述

根据下面的操作指南操作即可:
在这里插入图片描述

Docker 自定义镜像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值