趁着51又把docker基础重新学习了一遍,之前都是看课程,很少动手实践,看着像会了,其实提笔忘字,现在记忆力不行了,很多东西不练一练,基本看完就忘了,linux学习其实没那么难,多练练就好了~
最近的docker是跟于超哥学习的,大家可以到B站搜下课程支持一下,下边自己实践一下~
大概思路就是利用Python的flask框架,简单写一个Python文件跟docker的Dockerfile文件构建出一个images镜像,然后通过容器的8080端口映射到宿主机的8080端口跑起来,通过宿主机改端口来验证试验是否成功,并且介绍两种容器修改文件内容方式~
这是我提前写好的,简单介绍一下~ 
1、创建Python flask框架文件
vim xuyuhan_flask.py
from flask import Flask
app=Flask(__name__)
@app.route("/")
def web():
return "hello docker, i am xuyuhan"
if __name__=="__main__":
app.run(host='0.0.0.0',port=8080)

2、创建Dockerfile文件
vim Dockerfile
FROM centos:7.2.1511
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
RUN curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
RUN yum makecache fast
RUN yum install python3-devel python3-pip -y
RUN pip3 install -i https://pypi.douban.com/simple flask
COPY xuyuhan_flask.py /opt
WORKDIR /opt
EXPOSE 8080
CMD ["python3","xuyuhan_flask.py"]

写好以上两个文件,检查没问题就可以开始构建了~
3、构建docker images
[root@docker ~]
  
构建过程大概3分钟,因为有些东西要在线下载,所以也看网速,过程涉及链接啥的会出现红色标识,只要不出现error报错,都是小事情可以忽略,直到看到successfully,然后查看本地镜像~
4、使用新docker images创建容器
接下来试下运行该镜像
[root@docker ~]
e69668f3db0c901c631a1f25f2320e4c264ab6d2e75c6716a2962dffd3680a55
[root@docker ~]

5、访问该容器web页面
访问网页:宿主机IP:100端口,实验成功~ 
[root@docker ~]
[root@e69668f3db0c opt]

6、docker特殊命令
一些用起来比较爽的暴力命令,生产环境慎用!!!
[root@docker ~]
[root@docker ~]
[root@docker ~]
7、增删、修改容器内文件
有很多种方式
一种是直接修改Dockerfile文件内ADD 或 COPY 指令内容,重新构建镜像。。。
或者exec -it 进入容器内进行修改
还能通过docker cp指令来将容器外文件传递到docker容器内
docker cp 本地文件路径 容器ID或容器NAME:容器内路径
  还有这些 
|