服务计算作业:Docker 容器技术

服务计算作业:Docker 容器技术

准备docker环境(win10)

  1. 进入控制面板-程序-启用或关闭window功能,开启Hyper-V功能
    Hyper-v
  2. 从官网下载docker installer
    在这里插入图片描述
    下载完之后,双击运行installer,进行安装。一路按照指引即可。安装完之后,右下角有个小船图标,右键-setting-daemon
    在这里插入图片描述
  3. 安装完之后检查是否安装成功。打开命令行,输入docker version,出现如下情况代表安装成功。
    在这里插入图片描述

运行第一个容器:hello-world

在这里插入图片描述

运行镜像

在这里插入图片描述

显示本地镜像库内容

在这里插入图片描述
常见的指令有

  1. docker ps -a:显示所有容器(包含已中止)
  2. docker ps:显示运行中的容器
  3. docker restart frosty_goodall:重启原来的容器
  4. docker attach frosty_goodall:进入容器
  5. 如果忘记了指令,可以使用docker --help获取帮助

Mysql安装

运行:docker pull mysql:5.7
在这里插入图片描述查看镜像,发现已经成功安装了mysql
在这里插入图片描述

构建镜像并运行

创建文件夹mydock,并在该文件夹下新建dockerfile文件,内容如下

FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]

构建镜像并运行
docker build . -t hello
docker run -it --rm hello -H

Mysql与容器化

启动服务器:
docker run -p 3306:3306 --name mysql2 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
启用mysql:
docker run -it --net host mysql:5.7 "sh"
mysql -h127.0.0.1 -P3306 -uroot -proot

Docker网络

查看网络docker network ls
在这里插入图片描述
备制支持 ifconfig 和 ping 命令的 ubuntu 容器:docker run --name unet -it --rm ubuntu bash
启动另一个命令窗口,由容器制作镜像: docker commit unet ubuntu:net
在这里插入图片描述
创建自定义网络: docker network create mynet
在这里插入图片描述
在两个窗口创建 u1,u2 容器网络,并使用以下命令 :

~]# docker run --name u1 -it -p 8080:80 --net mynet --rm ubuntu:net bash
~]# docker run --name u2 --net mynet -it --rm ubuntu:net bash
~]# docker info u1
~]# docker network connect bridge u1
~]# docker network disconnect mynet u1

Docker仓库

常用操作有:

登陆 docker login --username=<your account> registry.cn-shenzhen.aliyuncs.com
标签 docker tag hello-world registry.cn-shenzhen.aliyuncs.com/pmlpml/repo:hello-world
上传 docker push registry.cn-shenzhen.aliyuncs.com/pmlpml/repo:hello-world
下载 docker push registry.cn-shenzhen.aliyuncs.com/pmlpml/repo:hello-world
标签 docker tag registry.cn-shenzhen.aliyuncs.com/pmlpml/repo:hello-world hello-world
删除 docker rmi registry.cn-shenzhen.aliyuncs.com/pmlpml/repo:hello-world
运行 docker run --rm hello-world
退出 docker logout registry.cn-shenzhen.aliyuncs.com

容器监控与日志

  1. 检查docker的状态:
    docker info
    在这里插入图片描述
  2. 查看容器内进程
    docker top [containner]
    coker stats
    在这里插入图片描述
  3. 容器详细信息
    命令:docker inspect [id/name],例如docker inspect 4749edd754a3
    展示相关信息
[
    {
        "Id": "4749edd754a3fccbb45f8c299d55509d33daf72111af651f41bb84bf478956e9",
        "Created": "2019-12-15T12:05:05.4431303Z",
        "Path": "bash",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 3512,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2019-12-15T12:05:07.1230823Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:775349758637aff77bf85e2ff0597e86e3e859183ef0baba8b3e8fc8d3cba51c",
        "ResolvConfPath": "/var/lib/docker/containers/4749edd754a3fccbb45f8c299d55509d33daf72111af651f41bb84bf478956e9/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/4749edd754a3fccbb45f8c299d55509d33daf72111af651f41bb84bf478956e9/hostname",
        "HostsPath": "/var/lib/docker/containers/4749edd754a3fccbb45f8c299d55509d33daf72111af651f41bb84bf478956e9/hosts",
        "LogPath": "/var/lib/docker/containers/4749edd754a3fccbb45f8c299d55509d33daf72111af651f41bb84bf478956e9/4749edd754a3fccbb45f8c299d55509d33daf72111af651f41bb84bf478956e9-json.log",
        "Name": "/unet",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
  1. 查看日志
    命令:docker logs [id/name],例如docker logs 0ebafc8005b3
    mysql logs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值