docker的安装与使用
1.卸载旧版本
sudo yum remove docker
2.设置存储库
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker社区版,docker企业版 docker-ee
sudo yum install docker-ce
4.启动关闭docker
systemctl start docker
5 查看版本 docker version
通过docker ps查看 正在运行中的容器
docker ps -a 查看所有运行过的容器记录
docker加速器,加速镜像下载
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://95822026.m.daocloud.io
执行完提示重启docker
You need to restart docker to take effect: 执行 sudo systemctl restart docker
下载镜像 docker pull ubuntu 下载乌版图镜像
查看docker存在哪些镜像
docker image ls
docker images
docker run -it --rm ubuntu 进入到镜像中 --rm不保存记录 -it 交互式操作
执行后会切换你的命令行 cat /etc/os-release 查看当前版本
exit 退出镜像环境
删除容器记录 docker rm 容器id 可以用 ps -a 查询
删除镜像文件 docker rmi 镜像id 可以用 images查询 有镜像的容器记录时得先删除容器记录
批量删除容器记录 docker rm `docker ps -aq` 找到你所有的容器记录 反引号删除
docker运行centos
1.下载centos镜像
docker pull centos
2.查看centos镜像
docker images
3.运行centos镜像
docker run -it centos 运行进入交互环境
docker在centos中运行一段shell脚本,后台运行 -d
docker run -d centos /bin/sh -c "while true;do echo hello centos; sleep 1;done"
docker容器常用命令
docker logs 容器id #查看容器内的标准输出日志
docker stop 容器id #停止容器运行
docker start 容器id #启动容器运行
构建自定义的镜像文件
在空的centos中安装 其他软件后 commit提交形成新的镜像文件,这个镜像文件不在是空的而是有你自己安装的软件
1.我们进入交互式的centos容器中,发现没有vim命令
docker run -it centos
2.在当前容器中,安装一个vim
yum install -y vim
3.安装好vim之后,exit退出容器
exit
4.提交这个容器,创建新的image
docker commit 059fdea031ba s12/centos-vim
5.查看镜像文件 此时这个镜像文件就有了vim
[root@master /home]docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
s12/centos-vim latest fd2685ae25fe 5 minutes ago 348MB
docker运行一个web应用,通过端口映射,windows浏览器就可以访问了
1.运行一个python web app 没有 training/webapp这个镜像自动下载
-d 后台运行容器
-P 随机端口映射, 将容器中暴露的端口 > 随机映射一个宿主机的端口
5000 > 92320
docker run -d -P training/webapp python app.py
docker run -d -p 9000:5000 training/webapp python app.py
-p 宿主机端口:容器端口
小写的p是指定端口映射
1.docker运行一个flask web应用,暴露端口供给windows使用
1.docker run -it centos
2. 安装 easy_install 命令,python2软件包管理
yum install python-setuptools
3.安装flask
easy_install flask
4.编写好flask web脚本
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Im flask web, im from docker !!!!!!! !</h1>'
#此脚本当做模块导入时候,__main__里代码不执行
#当做脚本文件直接运行的时候,执行__main__代码
if __name__ == '__main__':
app.run(host='0.0.0.0',port=9000)
5.退出容器,产生容器id记录
exit
6.提交此容器记录,构建镜像
docker commit 976 s12/flask_web
7.查看镜像
docker images
8.运行flask_web镜像,暴露端口访问
docker run -d -p 7000:9000 s12/flask-web python /home/flask-web.py
9.此时在windows浏览器访问 7000端口的 flask应用