docker高级篇
一.dockerfile解析
1.dockerfile是什么
dockerfile是用来构建docker镜像的文本文件,是有一条条构建镜像所需的指令和参数构成的脚本
2.dockerfile常用保留字指令
FROM
MAINTAINER
RUN
EXPOSE
WORKDIR
USER
ENV
ADD
COPY
VOLUME
CMD
ENTRYPONIT
3.实例
vim Dockerfile
FROM centos
MAINTAINER heber<heber@123.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
ADD Jdk-8u171-linux-x64.tar.gz /usr/local/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:$JAVA_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:PATH
EXPOSE 8080
CMD echo $MYPATH
CMD echo 'success......ok'
CMD /bin/bash
4.构建
docker build -t 镜像名字:tag .
二.docker网络
1.查看docker网络模式
docker network ls
2.docker网络能干什么
容器间的互联和通信以及端口映射
3.网络模式
NETWORK ID NAME DRIVER SCOPE
1677316bdb64 bridge bridge local
00245e67ea1c host host local
0f92e90b63c4 none null local
bridge
host
none
container
三.docker_compose容器编排
1.是什么
docker_compose是docker官方开源项目,负责实现对docker容器集群的快速编排,多服务管理工具
2.能干嘛
用来管理容器实例
compose允许用户通过一个单独的docker_compose.yml模板文件(YAML格式)来定义一组相关联的应用容器为一个项目
3.去哪里下
https://docs.docker.com/compose/install
curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
rm -f /usr/local/bin/docker-compose
4.conpose核心概念
docker-compose.yml
服务
工程
5.compose常用命令
docker-conpose -h
docker-conpose up
docker-conpose up -d
docker-conpose down
docker-conpose exec yml里面的服务id
docker-conpose ps
docker-conpose top
docker-conpose logs yml容器id
docker-conpose config
docker-conpose config -q
docker-conpose start
docker-conpose restart
docker-conpose stop
6.conpose编排微服务
vim docker-conpose.yml
version:"3"
servers:
microSerice:
image:heber_docker:1.8
container_name:ms01
ports:
-"6001:6001"
volumes:
- /app/microSerice:/data
networks:
- atguigu_net
depends_no:
- redis
- mysql
redis:
image:redis:6.0.8
ports:
-"6379:6379"
volumes:
- /app/redis/redis.conf:/etc/redis/redis.conf
- /app/redis/data:/data
networks:
- atguigu_net
command:redis-server /etc/redis/redis.conf
mysql:
image:mysql:5.7
environment:
MYSQL_ROOT_PASSWORD:"123456"
MYSQL_ALLOW_EMPTY_PASSWORD:"no"
MYSQL_DATABASE:"db2022"
MYSQL_USER:"heber"
MYSQL_PASSWORD:"heber123"
ports:
-"3306:3306"
volumes:
- /app/mysql/db:/var/lib/mysql
- /app/mysql/conf/my.cnf:/etc/my.cnf
- /app/mysql/init:/docker-entrypoint-initdb.d
networks:
- atguigu_net
command:--default-authentication-plugin=mysql_native_password
networks:
atguigu_net
7.启动
docker-conpose config -q
docker-conpose up / docker-conpose up -d
8.停止
docker-conpose stop
四.docker_portainer
1.portainer是什么
是一款轻量级的应用,它提供了图形化界面,用于方便管理docker环境,包括单机环境和集群环境
2.安装
https://www.portainer.io/
docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
3.访问
http://192.168.0.119:9000/
admin/admin123.
run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
##### 3.访问
```bash
http://192.168.0.119:9000/
admin/admin123.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)