Docker学习笔记(三)之容器和镜像

一.容器篇

我们可以输入docker查看关于Docker的所有命令,再具体点就不说了,没有什么意思了。

1.端口设置

以下示范为通过运行一个python Flask应用来运行一个web应用

docker pull training/webapp
docker run -d -P training/webapp python app.py    #-d:让容器在后台运行 -P:网络端口映射到主机

这时候我们输入 docker ps可以看到多了个端口信息,意思是docker的5000端口映射到我们主机的32768端口上Docker学习笔记(三)之容器和镜像_第1张图片

这时,我们就可以通过浏览器来访问了

我们也可以设置指定端口

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

(1)此处注意*******-P是让容器内部端口随机映射到主机端口,而-p则是让其映射到指定的主机端口

(2)还有一点要注意*******docker默认绑定的都是tcp端口,我们如果要绑定端口的话,在端口号后加入/udp即可,eg:

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

如果想要绑定ip地址在-p/P后加入即可,eg:

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

除了docker ps 还有docker port ID/名字也可以查看端口映射

2.其他命令

docker run -d -P --name yyk training/webapp python app.py #将容器名称自主定义为yyk

docker logs ID/名字可以查看容器日志

docker top可以查看容器进程

docker inspect查看Docker的底层信息(容器的配置和状态信息)

docker rm ID/名字删除容器(必须先停止对应容器)

docker ps -l 查询最后一次创建的容器

docker start/restart/stop ID/名字   开始/重启/停止容器

二.镜像篇

       首先说一下,当我们运行容器时,如果需要的镜像在本地找不到,docker就会自动去其镜像仓库下载,默认为DockerHub公共镜像源,有许多朋友说要换源等巴拉巴拉的各种情况,个人表示没有换源,速度还可以,这里取决于个人,如需换源,请自行解决。

1.获取一个新镜像

查找镜像      docker secrch 镜像名
拉取镜像      docker pull 镜像名称  eg: docker oull ubuntu:18.10
运行镜像      docker run 镜像名

2.创建属于自己的镜像

(1)从已经创建的容器中更新镜像,然后提交它

创建一个Ubuntu:18.10的镜像   docker run -t -i ubuntu:18.10 /bin/bash
使用apt-get update更新,然后exit退出容器
此时记住我们的容器ID,然后通过命令  docker commit -m="update already" -a="yyk" 容器ID root/ubuntu:A2

参数说明:

-m:此镜像描述信息;    -a:此镜像作者;     root/ubuntu:A2:创建的镜像的名称

 

(2)使用 Dockerfile 指令来创建一个新的镜像

首先创建一个Dockerfile文件,然后输入内容(这里太懒就不写了,没有什么坑,毕竟只是个随笔,网上都有啦),要注意每一个指令都是大写,最后使用docker build -t 镜像 . 来构建镜像(注意最后的点)

Docker学习笔记(三)之容器和镜像_第2张图片

 

最后的最后就是使用镜像来创建容器,docker run -t -i 镜像名 /bin/bash,docker随即会返回让我们输入之前设置的ID,之后就可以使用了

 

3.镜像查看及其标签

使用docker images列出本地所有镜像

参数说明:

REPOSITORY:镜像的仓库源

TAG:镜像的标签

CREATED:镜像创建时间

镜像标签就像版本一样,所以我们可以自定义自己的tag,docker tag 镜像ID root/ubuntu:tag名

 

 

____________________________________________________________________________________________________

Docker笔记到此完结,剩下的安装巴拉巴拉的都是套路,再见,docker!

你可能感兴趣的:(运维,Docker)