docker学习笔记

sudo docker pull ubuntu             /*下载Ubuntu最新镜像*/
sudo docker pull ubuntu:14.04         /*下载Ubuntu14.04版镜像*/
sudo docker run -it ubuntu /bin/bash     /*运行ubuntu的bash应用*/
sudo docker images            /*列出本地主机里的镜像信息*/
sudo docker inspect ID            /*获取该镜像的详细信息*/
sudo docker inspect --f {{"Architecture"}} ID    /*获取Architecture信息*/

搜索镜像
sudo docker search ITEM
--automated=false            /*仅显示自动创建的镜像*/
--no-trunc=false            /*输出信息不截断显示*/
-s,--stars=0                /*仅显示评价为指定星级以上的镜像*/

删除镜像
sudo docker rmi ID

强制删除
sudo docker rmi -f ID

删除容器(-f 强制删除)
docker rm ID

基于已有的镜像的容器创建
sudo docker commit ‘’‘ ’‘’  容器ID  容器NAME
-a, --auther="" 作者信息
-m, --message="" 提交消息
-p, --pause=true 提交时暂停容器运行

基于本地模板导入
sudo cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04

存出和载入镜像
存出
sudo docker save o ubuntu_14.04.tar ubuntu:14.04

载入
sudo docker load -input ubuntu_14.04.tar

sudo docker load < ubuntu_14.04.tar

上传镜像
sudo docker tag test:latest user/test:latest
sudo docker push user/test:latest

查看docker进程
docker ps
-a 所有进程

运行镜像
docker run -t -i -d  ubuntu
-t - 分配一个(伪)tty (link is external)
-i - 交互模式 (so we can interact with it) 
-d 以守护状态运行

终止容器
docker stop ID
-a  -q 可以看到处于中止状态的容器ID信息 

重启容器
docker restart ID

开始容器
docker start ID

使用 docker run -idt ubuntu后
由于-d会使得容器在后台运行,想要回到容器得使用(但是如果开多个终端,每个终端链接的都是同步的)
docker attach NAMES
比attach更好的一个是exec
docker exec -ti ID /bin/bash

导入和导出容器

导出
docker export CONTAINER(命令格式)
docker export ID >test_for_run.tar

导入
cat test_for_run.tar | docker import - test/ubuntu:v1.0

数据管理
下面使用training/webapp镜像创建一个web容器,并创建一个数据卷挂载到容器的/webapp目录
docker run -d -p --name web -v /webapp training/webapp python app.py

挂载一个主机目录作为数据卷
使用-v挂载一个本地的已有的目录到容器中去作为数据卷
加载主机的/src/webapp 目录到/opt/webapp目录
docker run -d -p --name web --v /src/webapp:/opt/webapp training/webapp

端口映射实现访问容器
当使用-p标记时,docker会随机映射一个49000~49900的端口至容器的内部开放的网络端口

映射所有的接口地址
使用hostport:containerPort格式将本地的5000端口映射到容器的5000端口
docker run -d -p 5000:5000 training/webapp python app.py

映射到指定地址的指定端口
docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

映射到指定地址的任意端口
docker run -d -p 127.0.0.1::5000 training/webapp python app.py

查看映射端口配置
docker port NAMES 5000

使用Dockerfile '.' 表示是当前目录下
sudo docker build -t sshd:dockerfile .

将容器的22端口映射到10022端口
sudo docker run -d -p 10022:22 sshd:dockerfile


挂载本地目录中的/home/cb/centos到docker的/home中
docker run -idt -v /home/cb/centos:/home vim:centos

转载于:https://my.oschina.net/u/3264690/blog/841419

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值