菜鸟教程:https://www.runoob.com/docker/docker-architecture.html
docker hub : https://registry.hub.docker.com/_/ubuntu
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
$ sudo apt-get update
$ sudo apt install curl
curl -sSL https://get.daocloud.io/docker | sh
验证安装
sudo docker run hello-world
安装完成!
sudo docker run ubuntu:16.04 /bin/echo "hello world"
命令:
- docker : Docker的二进制执行文件
- run : 与docker 组合 运行一个容器
- ubuntu:16.04 : 指定要运行的镜像,docker首先在本地主机查找该镜像是否存在,不存在则从DockerHub 镜像仓库下载该镜像。
- /bin/echo “hello world” : 在启动成功的容器里执行该命令
sudo docker run -i -t ubuntu:16.04 /bin/bash
命令:
-i : 允许对容器内的标准输入进行交互
-t : 在新容器内指定一个伪终端/终端
exit / ctrl+D : 退出容器
root@35959b456d8e:/# 出现,则说明 已经进入了一个 ubuntu 16.04 系统的容器
sudo docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
-d : 以后台模式运行一个程序,默认不会进入容器里。要进入使用 attach/exec(推荐)
(当true,打印hello world)。 输出唯一容器ID
docker ps : 查看运行中的容器
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有7种:
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
docker logs + 容器ID : 查看该容器内的标准输出
停止容器
sudo docker stop + 容器id
5. 查看所有容器
docker ps -a
// 销毁一个容器 docker rm -f 容器id
sudo docker restart 容器id (重启 停止的容器) sudo docker exec -it 容器id /bin/bash (退出 容器不停止 推荐!) sudo docker attach 容器id (退出 容器会停止)
从远程仓库( https://registry.hub.docker.com/_/ubuntu )
获取一个 Ubuntu 镜像, 启动进入此镜像, 退出此镜像后为停止状态
docker pull ubuntu:14.04 docker run -it ubuntu:14.04 /bin/bash
新建一个用户组 (docker守护进程启动的时候,会默认赋予名字为docker的用户组读写Unix socket的权限,因此只要创建docker用户组,并将当前用户加入到docker用户组中,那么当前用户就有权限访问Unix socket了,进而也就可以执行docker相关命令)
docker pull docker images 查看本地安装的镜像
docker run -d -P training/webapp python app.py : -P
将容器内部使用的网络端口映射到主机上 0.0.0.0:49513-> 5000 启动完成后 输入ifconfig查看本地的ip,
打开浏览器输入 ip:端口号(XXX.XX.X.XX: XXXX) 就可以使用该web应用
用-p设置端口 映射到5000. 网址访问 ip: 5000进入web应用
docker port 容器id 查看该容器映射到主机的端口号 docker logs -f 容器id 查看该容器web的日志
docker top 容器id 查看容器的进程 docker inspect 容器id 查看docker的底层信息, 返回json记录着docker容器的配置和状态信息
3. 停止,退出,重启web容器
docker stop 容器id docker start 容器id docker ps -l 查询最后一次创建的容器
移除容器 docker rm 容器id (只能移除停止状态的容器)