Docker容器部署

一 安装Docker

    1 官方建议安装在Linux的Ubuntu中,一些补丁可以及时更新,如果要安装在CentOS中,版本要求CentOS 7.x及以上,否则一些补丁无法更新

    2 安装的相关命令

       安装                yum install docker(提示是否安装 敲y安装)

       查看版本信息     docker -v 

       查看概要信息     docker info

       查看帮助文档     docker --help

       启动                systemctl start docker

       停止                systemctl stop docker

       重新启动           systemctl restart docker

       查看状态           systemctl status docker

       开机启动           systemctl enable docker

二 Docker镜像操作

 1 列出镜像       docker images

      REPOSITORY:表示镜像的仓库源   TAG:镜像的标签   IMAGE ID:镜像ID  CREATED:镜像创建时间   SIZE:镜像大小

   2 搜索镜像       docker search 镜像名称

   3 拉取镜像       docker pull 镜像名称(可以指定对应的版本号如 docker pull centos:centos7)

       3.1  配置加速器否则很慢,到/etc/docker  找到daemon.json

              vi /etc/docker/daemon.json   输入  {"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}  保存退出,重启docker  systemctl restart docker

       3.2  访问 https://hub.docker.com 查询对应镜像的版本

    4 删除镜像     删除指定镜像  docker rmi IMAGE_ID(镜像ID)    

                       删除所有镜像  docker rmi `docker images -q`

 

三 Docker容器操作     

      1查看容器

         docker ps  查看正在运行的容器            docker ps -a 查看所有的容器     

         docker ps -l 查看最后一次运行的容器      docker ps -f status=exited  查看停止状态的容器

       2 创建与启动容器

          创建容器命令的参数说明 :docker run

           -i : 表示运行容器

           -t : 表示容器启动后会进入其命令行

           --name :为创建的容器名称

            -v : 表示宿主机和容器之间的目录映射关系

            -d : 在run后面加上-d参数,则会创建一个守护式容器在后台运行,不会进入命令行

            -p : 表示端口映射关系

       3 交互式容器   docker run -it --name=mycentos centos:7 /bin/bash  (一个镜像可以创建N个容器,容器名称不能一致,exit退出来会关机)

       4 守护式容器   docker run -di --name=mycentos1 centos:7

          进入守护式容器   docker exec -it mycentos1 /bin/bash (exit 退出来不会关机)

       5 启动与停止容器   启动  docker start mycentos   停止 docker start mycentos1

       6 文件拷贝(只支持宿主机和容器之间的拷贝,容器与容器之间不支持拷贝)

          宿主机 --> 容器    docker cp /文件路径/文件名 mycentos:/拷贝的路径

          容器 --> 宿主机    docker cp mycentos:/拷贝的路径 /文件路径/文件名 

       7 挂载目录 宿主机目录:容器目录 --privileged=true(解决权限不足问题)

           docker run -di --name=mycentos2 -v /usr/local/mytest:/usr/local/mt  --privileged=true centos:7

       8 查看容器ip   docker inspect mycentos

       9 删除容器(已停止的容器)      docker rm mycentos  删除所有容器   docker rm `docker ps -a -q`

四 部署应用

     1 MySQL容器部署

        1.1 拉取MySQL镜像   docker pull 镜像名称(可带版本号)

        1.2 创建MySQL容器   docker run -di --name=wms_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.23

              -p 表示端口映射 宿主机端口:容器端口

              -e 表示环境变量 MYSQL_ROOT_PASSWORD是root用户的登录密码

         1.3 本地通过Navicat连接,ip是宿主机的ip,端口是宿主机的端口

      2 Tomcat容器部署

          1.1 拉取Tomcat镜像   docker pull 镜像名称(可带版本号)

          1.2 创建Tomcat容器   docker run -di --name=wms_tomcat -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps -p 8090:8080 --privileged=true tomcat:7

          1.3 记得把数据库连接ip改成mysql容器的ip,页面访问通过访问宿主机的ip+端口进行访问

     3 Nginx容器部署

         1.1 拉取Nginx镜像   docker pull nginx

         1.2 创建Nginx容器   docker run -di --name=wms_nginx -p 80:80 nginx

         1.3 拷贝容器中/etc/nginx/nginx.conf的配置文件到宿主机/home/nginx目录中进行修改配置,然后再拷回去  

               拷出来  docker cp wms_nginx:/etc/nginx/nginx.conf nginx.conf

               拷进去  docker cp nginx.conf wms_nginx:/etc/nginx

         1.4 配置好重启nginx容器 docker restart wms_nginx

      4 redis容器部署

         1.1 拉取redis镜像   docker pull redis

         1.2 创建redis容器   docker run -di --name=wms_redis -p 6379:6379 redis

五 备份与迁移

     1 容器保存为镜像  docker commit wms_nginx mynginx(镜像名称)

     2 把镜像导出备份  docker save -o mynginx.tar(备份文件名) mynginx(镜像名称)   -o表示输出

     3 把备份的镜像还原回去  docker load -i mynginx.tar    -i表示输入

   

posted @ 2020-01-04 22:39  CHJ_Hanson  阅读(243)  评论(0编辑  收藏  举报