Docker<一>安装和环境部署以及迁移备份

docker安装

  1. sudo yum update
  2. sudo yum install -y yum-utils device-mapper-persistent-data 1vm2
  3. sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  4. sudo yum install docker-ce
  5. docker -v

docker的停止与启动

  1. 启动:systemctl start docker
  2. 停止:systemctl stop docker
  3. 重启:systemctl restart docker
  4. 查看状态:systemctl status docker
  5. 开机启动:systemctl enable docker

docker的信息查看:

docker info

docker帮助信息

docker help

docker镜像

  1. 查看镜像: docker images
  2. 搜索镜像: docker search [镜像名]
    例如: docker search centos
  3. 拉取镜像: docker pull [镜像名]
    例如: docker pull centos:7
  4. 删除镜像:
    删除镜像所对应的所有容器:docker rm [容器名或者ID]
    删除镜像:docker rmi [镜像ID]
  5. 删除所有镜像: docker rmi 'docker images -q' (注意:这里的 ' 是键盘左上角的 ` 符号

docker容器

  1. 查看容器: docker ps -a
  2. 查看运行容器: docker ps
  3. 创建容器: docker run [命令]
    -i : 表示运行容器
    -t : 容器启动后进入命令行
    --name : 为容器命名
    -v : 目录映射关系
    -d : 创建守护式容器在后台运行
    -p : 端口映射
    例如:
    交互式方式创建容器:
    docker run -it --name=mycentos centos:7 /bin/bash
    守护式方式创建容器:
    docker run -di --name=mycentos2 centos:7 /bin/bash
  4. 进入容器: docker exec -it mycentos2 /bin/bash
  5. 退出容器 : exit
  6. 停止容器: docker stop [容器名或者ID]
    例如: docker stop mycentos2
  7. 启动容器: docker start [容器名或者ID]
    例如: docker start mycentos2
  8. 文件拷贝
    例如:
    将a.txt文件拷贝到docker容器/usr/local目录里面:docker cp a.txt mycentos2:/usr/local
    将a.txt文件从docker容器拷贝出来:docker cp mycentos2:/usr/local/a.txt /home/dev/
  9. 文件挂载
    将dapp.html文件和docker里面文件做映射关系
    例如:
    docker run -di --name=mycentos3 -v /var/www/html/dapp.html:/var/www/html/dapp.html centos:7
    查看挂载的信息:docker inspect [容器名]
    例如:
    docker inspect mycentos3
    提取挂载信息里面某个字段:
    例如:
    docker inspect --format='{{.NetworkSettings.IPAddress}}' mycentos3
  10. 删除容器
    停止运行的容器: docker stop [容器名或者ID]
    删除容器: docker rm [容器名或者ID]

应用部署

  1. mysql 部署
    拉取mysql镜像:docker pull centos/mysql-57-centos7
    创建mysql容器:
    docker run -di --name=docker_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7
    如果是云服务器,打开安全组配置,开放33306端口
    本地用工具连接mysql
  2. tomcat 部署
    拉取tomcat镜像:docker pull tomcat:7-jre7
    创建容器并挂载:
    docker run -di --name=docker_tomcat -p 9000:8080 -v /usr/local/tomcat/apache-tomcat-8.5.35/webapps:/usr/local/tomcat/apache-tomcat-8.5.35/webapps tomcat:7-jre7
    如果是云服务器,打开安全组配置,开放9000端口
    浏览器访问:ip:9000
  3. nginx 部署
    拉取nginx镜像:docker pull nginx
    创建nginx容器:docker run -di --name=docker_nginx -p 90:80 nginx
    nginx修改配置文件地址: /etc/nginx/conf.d/default.conf
    拷贝文件到nginx目录下:docker cp /var/www/html/dapp.html docker_nginx:/usr/share/nginx/html/
  4. redis 部署
    拉取redis镜像:docker pull redis
    创建redis容器:docker run -di --name=docker_redis -p 16379:6379 redis

容器迁移与备份

  1. 容器保存为镜像:
    docker commit docker_nginx docker_nginx_1
  2. 启动新镜像:
    docker run -di --name=docker_nginx_2 -p 81:80 docker_nginx_1
  3. 浏览器访问:ip:81
  4. 镜像备份:
    docker save -o docker_nginx_1.tar docker_nginx_1
  5. 在当前目录下就会生成docker_nginx_1.tar文件
  6. 镜像恢复与迁移:
    将生成的docker_nginx_1.tar文件拷贝到另一台服务器
    恢复镜像:docker load -i docker_nginx_1.tar
    查看是否恢复: docker images
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker是一种容器技术,它的存在就是为了解决容器技术本身的复杂性。Docker容器拥有很高的性能,同时同一台宿...
    四条眉毛陆小鸡阅读 601评论 0 0
  • Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启...
    执笔梦一场阅读 3,311评论 2 10
  • 一、什么是docker? 1.Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可...
    低俗小説阅读 469评论 0 1
  • 小雨淅沥犹未歇,莫问前程
    寒花葬志阅读 104评论 0 1
  • 七绝 和露嚼茶 春游原野沐朝霞, 缕缕清风育嫩芽。 不喜凡尘烟火气, 掐尖和露嚼新茶。 七绝 无名花 莫因春去怨...
    书中樵夫阅读 1,459评论 34 55