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应用

原文地址:https://www.cnblogs.com/luchenhui/p/10075170.html