1. 获取镜像
//获取ubuntu镜像 docker pull ubuntu //获取最新版本ubuntu镜像 docker pull ubuntu:latest //获取15.10版本ubuntu镜像 docker pull ubuntu:15.102. 查找镜像
//查找ubuntu镜像 docker search ubuntu3. 删除镜像
//删除镜像 docker rmi Name(镜像name) //删除镜像 docker rmi ID(镜像ID)4. 自定义镜像
1.编写Dockerfile文件
2.构建镜像
* -t :指定要创建的目标镜像名 * . :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径 //runoob/centos目标镜像REPOSITORY 6.7为TAG docker build -t runoob/centos:6.7 .//将本地容器提交 生产对应镜像 //e218edb10161本地容器ID runoob/ubuntu创建的目标镜像 v2为目标镜像TAG
-m: 提交的描述信息
-a: 指定镜像作者
docker commit -m=“has update” -a=“runoob” e218edb10161 runoob/ubuntu:v2
##二、容器操作##
容器状态:
created(已创建)restarting(重启中)running(运行中)removing(迁移中)paused(暂停)exited(停止)dead(死亡)1. 创建容器
-t: 终端 -i: 交互式操作 ubuntu:ubuntu 镜像 /bin/bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash //根据ubuntu镜像 创建一个对应容器 docker run -i -t ubuntu /bin/bash2. 进入容器
在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
docker attach:如果从这个容器退出,会导致容器的停止。
docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
//containerID 容器ID docker attach containerID //containerID 容器ID docker exec -it containerID /bin/bash3.删除容器
//-f参数 表示强制删除 docker rm -f containerID4.容器导入/导出
//containerID 容器ID > ubuntu.tar压缩包 docker export containerID > ubuntu.tar // docker import 从容器快照文件中再导入为镜像 //filePath.tar导入文件路径 test/ubuntu为镜像REPOSITORY v1为TAG docker import filePath.tar test/ubuntu:v1##三、运行Web应用##
1.载入镜像
docker pull training/webapp # 载入镜像2.创建容器
* -P(大写) :是容器内部端口随机映射到主机的高端口。 * -p(小写) : 是容器内部端口绑定到指定的主机端口。 * -d:让容器在后台运行。 * -P(大写):将容器内部使用的网络端口随机映射到我们使用的主机上。 docker run -d -P training/webapp python app.py3.访问应用
通过docker ps命令查看此容器映射到本地的端口信息,在浏览器输入 本机IP:端口号
通过 -p(小写) 参数来设置不一样的端口: docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
##四、Docker容器互联##
1.新建网络
* -d:参数指定 Docker 网络类型,有 bridge、overlay。 //创建一个新的 Docker 网络 //test-net为网络名称 docker network create -d bridge test-net2.连接容器
//运行一个容器名称test1。并连接到新建的 test-net 网络: docker run -itd --name test1 --network test-net ubuntu /bin/bash //打开新的终端,再运行一个容器名称test2。并加入到 test-net 网络: docker run -itd --name test2 --network test-net ubuntu /bin/bash3.测试
//安装ping工具 apt-get update apt install iputils-ping //进入到不同容器 ping test1 ping test2