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