- docker pull ubuntu
安装(默认最新)版本ubuntu
- docker pull ubuntu: 14.04
下载指定版本的ubuntu
- docker pull docker-repo/ubuntu
从指定镜像仓库下载镜像
- docker run ubuntu /bin/bash
运行ubuntu镜像的bash,等价于先docker create再docker start,输入exit退出
- doucker images
列出下载的所有镜像
- docker inspect 723
列出镜像详细信息,723为Image Id前缀
- docker inspect -f {{".Architecture"}} 723
列出详细信息中的某一项,语法好像是go的模板语法
- docker search ubuntu
搜索镜像(从docker hub)
--filter=is-automated=false 仅显示自动创建的镜像
--no-trunc=falsee 输出信息不截断显示
--filter=stars=200指定仅显示对应星级及以上的镜像 - docker rmi mysql
删除指定的镜像,当有镜像创建的容器被运行时,是无法删除的(-f可以强制删除)
- docker ps -a
列出所有存在过的容器,包括已经退出的
- docker rm f08
删除对应Id的容器,-f 强行删除,-l 删除容器的连接,-v删除容器挂载的数据卷
- docker commit -a "hengyumo" -m "test commit" -p ad15 test
提交一个新的容器,-a指定作者,-m指定提交信息,-p提交时暂停容器执行,末尾参数分别是容器Id和容器名
- docker save -o ubuntu.tar ubuntu
存出镜像到本地文件
- docker load -i ubuntu.tar
从本地文件导入
- docker tag test:latest user/test:latest
给镜像复制一份标签
- docker login
登录docker hub
- docker push user/test:latest
上传镜像,需要在之前进行登录,并创建好仓库,参考链接
- docker create -it ubuntu
新建容器,-t 为容器分配伪终端,并绑定到容器的标准输入,-i 让容器的标准输入保持打开
- docker start 6c2
启动容器,可以启动已经终止的容器
- docker run -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done"
将容器以守护进程(daemon)的方式运行
- docker logs 7b
打印容器输出信息
- docker stop -t 5 7b
终止容器,-t指定等待时间,它会首先发送SIGTERM信号,一段时间后(默认10s)再发生SIGKILL信号终止容器
- docker kill 7b
该命令会直接发送SIGKILL信号强行终止容器
- docker ps -a -q
查看所有处于终止状态的容器ID信息
- docker restart 7b
重启一个运行中的容器
- docker attach 250
进入一个启动的容器
- docker exec -ti 250 /bin/bash -c "echo hello world"
直接在已启动的容器内运行命令
- docker export 7b >helloworld.tar
将容器导出
- docker import helloworld.tar ubuntu/helloworld:v0.1
导入容器快照
- docker run -d -p 5000:5000 -v /docker-registry:/tmp/registry registry
搭建本地仓库
- docker run -d -P --name web -v webapp training/webapp python app.py
-v为容器指定数据卷:webapp目录,--name 指定容器名称,-P为容器映射相应的端口(随机)
- docker run -d -P --name web3 -v C:\Users\le\Desktop\webapp:/home/root/webapp:ro training/webapp python app.py
相比31.,将本机的webapp目录映射到了/home/root/webapp,并设置读取权限为仅读(默认是rw)
- docker run -ti -v C:\Users\le\Desktop\dbdata:/dbdata --name dbdata ubuntu
建立数据共享容器
docker run -tid --volumes-from dbdata --name db1 ubuntu
建立容器db1,挂载dbdata的数据卷docker run -tid --volumes-from dbdata --name db2 ubuntu
建立容器db2,挂载dbdata的数据卷,它和db1共享dbdata的数据卷docker exec -ti db1 /bin/bash #touch /dbdata/hellodb.txt #echo "hello db" > /dbdata/hellodb.txt #exit
给dbdata添加新文件
docker exec -ti db2 cat /dbdata/hellodb.txt
输出db2中数据卷的文件信息,结果打印出hello db,数据卷共享成功 - docker rm -v web4
删除容器,并删除容器对应的数据卷
- docker run -d -p 5555:5000 training/webapp python app.py
将本机5555端口绑定到容器的5000端口
- docker run -d -p 127.0.0.1:5555:5000 training/webapp python app.py
指定绑定localhost
- docker port d6a
打印容器绑定的端口
- docker run -d -P --name web --link db2:db2 training/webapp python app.py
建立容器间的链接
- docker exec web env
打印容器环境变量
- docker exec web /bin/bash -c "cat /etc/hosts"
打印容器host文件
- docker exec web /bin/bash -c "ping db2"
ping 容器db2(前提是已经链接db2)
版权声明
本文章由作者“衡于墨”创作,转载请注明出处,未经允许禁止用于商业用途
评论区#
还没有评论哦,期待您的评论!
引用发言