docker的应用部署和使用详情(二)

docker的应用部署和使用详情(二),第1张

docker的应用部署和使用详情(二)

部署 MySQL

# 拉取MySQL镜像
docker pull mysql:5.7
# 创建 MySQL 容器
docker run -id --name=my_mysql -p 33306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=密码 mysql:5.7
# -d 后台启动 -p 端口映射 -v 卷挂载 -e 环境变量 -name 容器名字
# 进入MySQL容器, 登陆MySQL
docker exec -it mxg_mysql /bin/bash
# docker exec -it mxg_mysql /bin/bash
# 登录Mysql
mysql -u root -p

部署 Nginx

# 拉取镜像
docker pull nginx
# 创建容器
docker run -d --name=nginx01 -p 3344:80 nginx
# 查看本机的状况
curl localhost:3344
# 进入容器,查看容器配置文件
whereis nginx

部署 Redis

docker pull redis
docker run -id --name=mxg_redis -p 6379:6379 redis

部署 es+kibana

docker pull elasticsearch
# 创建容器
docker run -id --name=elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
步骤:-e ES_JAVA_OPTS 增加内存限制64兆,最大是512兆
# 查看本机的状况
curl localhost:9200

使用数据卷:

# -v  两个目录进行关联挂载
docker run -it -v 主机目录:容器内的目录
# 多个容器实现数据共享 ,创建第2个容器,引用之前创建好的容器名。
docker run --.... --volumes-form 其他容器名
Dockerfile
编写dockerfile 文件
docker build 构建镜像
docker run 运行镜像
docker push 发布镜像

体系结构:
FROM:基础镜像
MAINTAINER:镜像作者、邮箱
RUN:容器构建时需要运行的命令
WORKDIR:设置工作目录
ENV:设置环境变量 (可以写多条)
ADD:将宿主机的文件复制到容器内,如果是一个压缩文件, 将会在复制 后自动解压
COPY:和ADD相似,但是如果有压缩文件并不能解压
VOLUME:容器数据卷
CMD:可以有多个CMD,但只有最后一个会生效。在构建容器时,会被 docker run 后面指定的参数覆盖。
ENTRYPOINT:和CMD相似,但是并不会被docker run指定的参数覆盖,而是追加参数
ONBUILD:当创建一个被继承的Dockerfile,会被触发,触发器

构建JDK镜像
# 来自基础镜像
FROM centos:7
# 指定镜像创建者信息
MAINTAINER goodyan
# 切换工作目录 /usr/local
WORKDIR /usr/local
# 创建一个存放jdk的路径
RUN mkdir /usr/local/java
# 安装vim插件
RUN yum -y install vim
# 将jdk压缩包复制并解压到容器中/usr/local/java
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java
# 配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
CMD ["/bin/bash"]
本地镜像发布到阿里云仓库
# 登录阿里云-->找到容器镜像服务-->创建命名空间
将本地镜像推送到阿里云镜像仓库

# 1.登录阿里云Docker Registry, 密码为开通服务时设置的密码
docker login --username=用户名 registry.cn-xxx(每个人地址不一样)
# 2.标记此镜像为阿里云仓库的镜像
docker tag [镜像id] registry.cn-xxxx.xxx.com/xxx/jdk:[镜像版本号]
# 3.提交 
docker push 镜像名:[镜像版本号]

未完待续

 
 
 
 
					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5716270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存