ubuntu下docker安装
wget -qO- https://get.docker.com/ | sh
https://get.docker.com/ 可能被墙 记得翻墙
Docker Hello World
runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world"
Hello world
runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@dc0050c79503:/#
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
镜像操作
获取镜像:
docker pull ubuntu:14.04
查看本地镜像
docker image
用tag 命令添加镜像标签
docker tag ubuntu:latest myubuntu:latest
查看镜像详细信息
docker inspect ubuntu:latest
搜索镜像
docker search --atuomated --no-trunc -s 3 ngnix
--automated 仅显示自动创建的镜像 默认 False
--no-trunc 输出信息不截断 默认 Fasle
-s (--star) 镜像评级
删除镜像
docker rmi myubuntu:latest
docker rmi <ID>
创建镜像
基于已有镜像的容器创建
docker commit [options] container [repo:[tag]]
-a 作者
-c 提交时的动作
-m message
-p 提交时暂定容器运行
docker commit -m 'add a new file' -a 'me' <id> test:0.0
模版导入创建
cat ubuntu***.tar.gz | docker import - ubuntu:14.04
镜像的存出和载入
docker image
docker save -o ubuntu_14.04.tar ubuntu:14.04
docker load < ubuntu_14.04.tar
docker load --input ubuntu_14.04.tar
镜像上传
docker tag test:letest user/test:leatest
docker push user/test:leatest
容器操作
新建容器
docker create -it ubuntu:latest
启动容器
docker start
docker run = docker create + docker start
列出容器:
docker ps
守护态运行
docker run -d (docker run -itd)
停止容器
docker stop <?>
另外
docker restart
进入容器
docker attach <>
容器内执行
docker exec -it <> /bin/bash
容器导入导出
docker export -o test_for_run.tar <>
docker import test_for_run.tar - test/ubuntu:14.04
数据管理
使用training/webapp镜像创建一个名为web的数据卷挂载到容器的webapp目录
docker run -d -p --name web -v /webapp training/webapp python app.py
挂载一个主机目录(/src/webapp)作为数据卷(:ro指定为只读)挂到容器的(/opt/webapp)
docker run -d -p --name web -v /src/webapp:/opt/webapp:ro training/webapp python app.py
dbdata db1 db2 都指到/dbdata
docker run -it -v /dbdata --name dbdata ubuntu
docker run -it --volumes-from dbdata --name db1 ubuntu
docker run -it --volumes-from dbdata --name db2 ubuntu
备份
docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar -zcvf /backup/backup.tar.gz /dbdata
恢复
docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
端口映射与容器互联
docker run -p(-P) -d training/webapp python app.py
docker ps -l
docker logs -f nostalgic_morse
local 5000 容器5000
docker run -d -p 5000:5000 training/webapp python app.py
local 5000 容器5000
docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
local 所有 容器5000
docker run -d -p 127.0.0.1::5000 training/webapp python app.py
local 5000udp 容器5000udp
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
查看端口映射
docker port <nostalgic_morse> 5000
容器互联
docker run -d --name db training/postgres
docker run -d -p --name web --link db:db training/postgres
db:db 前面是要连接的容器名 后面是这一个链接的别名
网友评论