-
Docker架构
-
三个基本概念:
-
镜像
-
容器:镜像运行时的实体
-
仓库:保存镜像
-
-
客户端-服务器(C/S)架构模式,使用远程APi来管理和创建Docker容器
-
-
Docker Hello World
-
docker run ubuntu:15.10 /bin/echo "Hello World"
-
docker:Docker的二进制执行文件
-
run: 与docker组合运行一个容器
-
ubuntu:15.10 :要运行的镜像
-
/bin/echo "hello world": 在容器里执行的命令
-
-
进行交互式的容器
-
docker run -it ubuntu:15.10 /bin/bash (相当于进入一个新系统)
-
-
启动容器(后台模式)
-
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
-
docker logs CONTAINERID 查看容器内的标准输出
-
docker stop CONTAINERID 停止容器
-
-
-
Docker容器的使用
-
获取镜像: docker pull ubuntu
-
启动容器:docker run -it ubuntu /bin/bash
-
启动一个已停止的容器:docker start CONTAINERID
-
后台运行: docker run -itd --name ubuntu-test ubuntu /bin/bash (通过-d指定运行模式)
-
停止一个容器: docker stop CONTAINERID
-
重启容器:docker restart CONTAINERID
-
进入容器:( 容器在后台,想要进入容器)
-
docker attach containerID (从容器退出,会导致容器停止)
-
docker exec -it containerID /bin/bash (推荐使用,容器不会停止)
-
-
导出和导入容器
-
导出容器:docker export containerID > ubuntu.bar
-
导入容器:cat docker/ubuntu.tar|docker import - test/ubuntu:v1
-
-
删除容器:
-
docker rm -f containerID
-
docker container prune (清理所有终止状态的容器)
-
-
运行一个web应用: 在docker中运行一个Python Flask应用来运行一个web应用
-
docker pull training/webapp
-
docker run -d -P training/webapp python app.py
-
-d:让容器在后台运行
-
-P:将容器内部使用的网络端口随机映射到我们使用的主机上(这里主机指当前用的虚拟机)
-
-
-
查看WEB应用程序日志: docker logs containerID
-
查看WEB应用程序容器的进程: docker top containerID
-
查看WEB应用程序(返回一个JSON文件记录着Docker容器的配置和状态信息)
-
docker inspect container
-
-
-
Docker镜像
-
更新镜像
-
查找镜像:docker search containerName
-
删除镜像:docker rmi containerName
-
创建镜像:
-
先创建一个容器:docker run -it ubuntu:15.10 /bin/bash
-
进行更新:apt-get update
-
提交容器副本:docker commit -m="has update" -a="runoob" containerID runoob/ubuntu:v2
-
-m:提交的描述信息
-
-a:指定镜像作者
-
runoob/ubuntu:v2:指定要创建的目标镜像名
-
-
-
构建镜像
-
创建Dockerfile文件:
-
构建镜像: docker build -t runoob/centos:6.7 .
-
添加新标签:docker tag containerID imagesName:newTag
-
-
-
Docker容器连接
-
网络端口映射
-
-P:是容器内部端口随机映射到主机端口
-
-p:是容器内部端口绑定到指定的主机端口
-
docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py ( 这样我们就可以通过访问 127.0.0.1:5001 来访问容器的 5000 端口。curl 127.0.0.1:5001)
-
-
查看端口的绑定情况:docker port portName 5000
-
-
Docker容器互联: docker 有一个连接系统允许将多个容器连接在一起,共享连接信息
-
容器命名:docker run -d -P --name liye training/webapp python app.py
-
新建网络:docker network create -d bridge test-net
-
查看网络:docker network ls
-
连接容器
-
运行一个容器并连接到新建的 test-net 网络:
-
docker run -itd --name test1 --network test-net ubuntu /bin/bash
-
-
打开新终端,在运行一个
-
docker run -itd --name test2 --network test-net ubuntu /bin/bash
-
如果无ping指令
-
apt-get update
-
apt install iputils-ping
-
-
-
在test1容器中连接test2: ping test2
-
-
-
配置DNS(看不懂)
-
-
Docker仓库管理:目前Docker维护了一个公共仓库Docker Hub
-
登录:docker login
-
退出:docker logout
-
搜索:docker search ubuntu
-
推送镜像:用户登录后,可以通过docker push 命令将镜像推送到Docker Hub
-
docker tag ubuntu:18.04 userName/ubuntu:18.04
-
docker push userName/ubuntu:18.04
-
docker search userName/ubuntu
-
-
Docker常用命令
最新推荐文章于 2024-05-22 23:58:59 发布