docker镜像与网络

Docker镜像

commit 镜像

docker commit -m="提交信息" -a="作者" 容器id 目标镜像名:tag

容器卷

#直接使用命令挂载 -v
docker run -it -v 主机目录:容器内目录 centos /bin/bash
docker inspect 

#source :主机地址
#destination:docker容器内的地址

安装mysql

docker pull mysql:5.7
#数据挂载
docker run -d -p 3344:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql-01 mysql:5.7
#mysql 
#$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
#删除
#docker rm -f
#docker ps 
#docker volume ls
#具名挂载 
docker run -d -P --name nginx-01 -v juming-nginx:/etc/nginx nginx
docker volume ls

/var/lib/docker/volumes/juming-nginx/_data
#匿名挂载 只有容器内路径
docker run -d -P --name nginx02 -v /etc/nginx nginx

Dockerfile

#构建docker镜像
mkdir docker-test-volume

FROM centos
VOLUME ["volume01","volume02"]
CMD echo "---end---"
CMD /bin/bash

docker build -f /homr/docker-test-volume/dockerfile1 -t lutrra/centos .
docler inspect 容器id

多个mysql实现数据共享

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql-01 --volumes-from mysql-02 mysql:5.7

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql-02  --volumes-from mysql-01 mysql:5.7

指令说明

FROM #基础镜像
MAINTAINER #镜像是谁写的 姓名+邮箱
RUN #镜像构建的时候需要运行的命令
ADD #添加内容
WORKDIR #镜像的工作目录
VOLUME #挂载的目录
EXPOSE #保留端口配置
CMD #指定容器启动要运行的命令
ENTRYPOINT # 启动的时候运行的命令
ONBUILD #当构建一个被继承DockeFile 这个时候就会运行 ONBUILD 的指令
COPY # 类似ADD 将这个文件拷贝到镜像中
ENV # 构建的时候设置环境变量
#创建自己的cnetos
vim mydockefile-centos

FROM centos
MAINTNER lutrra<1552020967@qq.com>
ENV MYPATH/usr/local
WORKDIR $MYPATH
RUN  yum -y install vim
RUN yum -y instal  net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "--end--"
CMD /bin/bash

docker build -f mydockefile-centos -t mycetntos:0.1 .

docker run -it mycetntos
#发布docker hub
docker login --help
docker login -u lutrra
docker tag id ;utrra/tomcat:1.0
docker push lutrra/tomcat:1.0

网络

#容器互联
docker run -d -P --name tomcat03 --link tomcat02 tomcat 
docker exec  -it tomcat03 ping tomcat02
docker network ls
docker exec -it tomcato3 cat /etc/hosts

自定义网络

#网络模式 bridge :桥接 none :不用配置 host:宿主机共享网络 
#docker0的网络
docker run -d -P --name tomcat01 --net bridge tomcat
#自定义网络
docker network creat --driver bridge --subnet 192.168.0.0/16 --gateway  1192.168.0.1 mynet
#运用自己的网络
docker run -d -P --name tomcat-net-01 --net mynet
docker run -d -P --name tomcat-net-02 --net mynet

#网络连接 tomcat01 -mynet
docker network connect mynet tomcat01

#部署redis
docker network creat redis --subnet 172.38.0.0/16
#微服务打包
#安装插件
FROM java:8
COPY *.jar /app.jar 
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT["java","-jar","/app.jar"]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值