Docker 学习二(Docker使用)

Docker 学习二(Docker使用)

  1. Docker常用命令

    docker help #检查docker可用命令

    docker version #查看docker版本信息,-v也可以

    docker exec #在正在运行中的容器中运行命令

    docker info #显示系统范围信息

    docker search tomcat #在docker hub中搜索tomcat镜像

    docker pull tomcat #从注册表或者docker hub中搜索tomcat镜像

    docker ps -a #查看所有的容器

    docker start 容器 id #启动已停止的容器

    docker stop 容器id #停止运行容器

    docker restart 容器id #停止并启动容器

    docker rm 容器id #删除容器,docker rm -f 强制删除

    docker rmi 镜像名 #删除镜像

    docker logs 容器id #查看容器日志

    docker run #在隔离容器中运行命令

    docker run -it 镜像名称 /bin/bash #-i 交互式操作 -t 终端 /bin/bash 交互式shell,退出容器直接输入exit

    docker run -itd --name test 镜像名称 /bin/bash #-d 参数默认不会进入容器

    docker exec #进入容器,退出容器不会导致容器停止

    docker attach # 进入容器,退出容器会导致容器停止

    docker system df #查看docker的磁盘使用情况

    docker network ls

    docker inspect container_name|grep Mounts -A 20 #查看容器映射路径,Container_name 是容器名称,也可以写容器的ID

  2. 运行一个web应用

    使用docker构建一个web应用程序,在docker容器中运行一个python flask来运行一个web应用

    docker search webapp

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FSfmlcR3-1641782656499)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210722152613729.png)]

    dcoker pull training/webapp

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7DwE2PMW-1641782656503)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210722152723924.png)]

    docker run -itd -p training/webapp 5000:5000 python app.py

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4OhyTGtF-1641782656504)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210722163356854.png)]

    将容器内部的5000端口映射到本地主机5000端口,通过页面可访问

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OF46wdTL-1641782656506)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210722171755414.png)]

  3. Docker 网络模式

    主机模式: 使用 –net=host 指定。与宿主机共享网络,此时容器没有使用网络的namespace,宿主机的所有设备,如Dbus会暴露到容器中,因此存在安全隐患

    桥接模式:使用 –net=bridge 指定,默认设置。此时docker引擎会创建一个veth对,一端连接到容器实例并命名为eth0,另一端连接到指定的网桥中(比如docker0),因此同在一个主机 的容器实例由于连接在同一个网桥中,它们能够互相通信。容器创建时还会自动创建一条SNAT规 则,用于容器与外部通信时。如果用户使用了-p或者-Pe端口端口,还会创建对应的端口映射规

    则。

    自定义模式:使用自定义网络,可以使用docker network create创建,并且默认支持多种网络驱动,用户可以自由创建桥接网络或者overlay网络。

    无网络模式:使用 –net=none 指定。不设置网络,相当于容器内没有配置网卡,用户可以手动配置

    容器模式:使用 –net=container:NAME_or_ID 指定。指定与某个容器实例共享网络

  4. 数据挂载

    docker run -itd -v /opt/data:/opt --name centos-test centos /bin/bash

    -v 参数,冒号前为宿主机目录,为绝对路径,冒号为镜像挂载路径。默认镜像挂载的路径权限为读写

​ storage driver docker的存储模式

  1. 镜像打包

    将镜像进行打包

​ docker save -o hello-2021.tar hello-word

​ 也可以容器进行打包

​ docker export 容器id >webapp-test.tar

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vyYvGnIE-1641782656508)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210722185920335.png)]

​ 镜像通过load还原至images

​ docker load < hell-2021.tar

​ 导入镜像

​ docker import webapp-test.tar 容器名称:版本

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jBH559OX-1641782656510)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210722190036953.png)]

  1. 创建数据库

    6.1 查询mysql镜像
    docker search mysql
    在这里插入图片描述
    6.2 拉取镜像到本地

docker pull centos/mysql-57-centos7
在这里插入图片描述
6.3 查询本地mysql镜像

docker images|grep mysql
在这里插入图片描述
6.4 启动mysql镜像

docker run -d --name mysql57 -p 12100:3306 -e MYSQL_ROOT_PASSWORD=admin@123 --restart=always --privileged=true centos/mysql-57-centos7

其中:–name 容器名称(自定义即可)

​ -p : 宿主机端口:docker虚拟机的端口 #绑定虚拟机端口

​ -e : 环境变量

​ --restart :docker启动时是否同步启动应用

​ --privileged: 授权进入容器时是否使用root权限
netstat -lnop|grep 12100

查询虚拟机上12100端口是否启动成功

6.5 连接数据库

​ 使用navicat preminum连接 ip:12100 ,输入root用户名和admin@123密码登录数据库,连接成功即可
6.6 登录mysql容器
复制sql文件到dockerm_mysql里面的tmp文件夹
docker cp nacos-mysql.sql 94df84cbaaaa:/tmp/
错误命令
在这里插入图片描述
正确命令:

mysql -u root -p -h 127.0.0.1
导入sql脚本
use nacos-config

source /tmp/nacos-mysql.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值