Docker常见用法整理
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
进入docker查看当前内核版本
uname -r
镜像加速
在/etc/docker/daemon.json中写入:
{
“registry-mirrors”: [“http://hub-mirror.c.163.com”]
}
启动docker后台服务
sudo service docker start
docker容器内运行应用程序
runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo “Hello world”
Hello world
docker:Docker 的二进制执行文件。
run: 与前面的 docker 组合来运行一个容器。
ubuntu: 15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo “Hello world”: 在启动的容器里执行的命令
交互式的容器
runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@dc0050c79503:/
通过docker的两个参数 -i -t,让docker运行的容器实现”对话”的能力
t:在新容器内指定一个伪终端或终端。
i: 允许你对容器内的标准输入 (STDIN) 进行交互。
进入容器使用cat /proc/version查看当前系统的版本信息。
查看容器是否在运行
docker ps
启动容器
docker start 容器名
重启容器
docker restart 容器名
停止容器
docker stop 容器名
移除容器
docker rm determined_swanson
检查容器
docker inspect determined_swanson
杀死正在运行的容器
runoob@runoob:~$ docker kill -s KILL mynginx
mynginx
查看docker环境信息
sudo docker info #检查docker是否正确安装
列出镜像列表
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB
搜索镜像
docker search httpd
拉取镜像
docker pull training/webapp
更新镜像
先使用镜像来创建一个容器。
docker run -t -i ubuntu:15.10 /bin/bash
root@e218edb10161:/# apt-get update #命令进行更新。
提交更新镜像。
runoob@runoob:~$ docker commit -m=”has update” -a=”runoob” e218edb10161 runoob/ubuntu:v2
sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
-m:提交的描述信息
-a:指定镜像作者
e218edb10161:容器ID
runoob/ubuntu:v2:指定要创建的目标镜像名
查看WEB应用程序日志
docker logs -f 7a38a1ad55c6
查看端口映射
docker port 7a38a1ad55c6
5000/tcp -> 0.0.0.0:5000
运行镜像生成容器
docker run -d -p 5000:5000 training/webapp python app.py
-d:让容器在后台运行。
-P :是容器内部端口随机映射到主机的端口。
-p : 是容器内部端口绑定到指定的主机端口。
设置镜像标签
runoob@runoob:~$ docker tag 860c279d2fec runoob/centos:dev
镜像ID 860c279d2fec
新的标签名(tag) runoob/centos:dev