Docker常用命令

Docker命令简书

容器生命周期管理
Run 创建一个新的容器并运行一个命令
Start**/stop/**restart 停止容器
Kill
Rm 删除容器
Pause/unpause
Create
Exec

容器操作
Ps
Inspect 获取容器/镜像的元数据
Top
Attach
Events
Logs
Wait
Export
Port

容器rootfs命令
Commit
Cp
Diff

镜像仓库
Login
Pull 从镜像仓库中拉取或者更新指定镜像
Push 将本地的镜像上传到镜像仓库,要先登录到镜像仓库
Search

本地镜像管理
Images 列出本地镜像
Rmi
Tag 标记本地镜像,将其归入某一仓库
Build
History
Save
Load
Import

Info|versiom
Info
Version

Docket run命令
docker run :创建一个新的容器并运行一个命令
语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
OPTIONS说明:

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

–name=“nginx-lb”: 为容器指定一个名称;

–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h “mars”: 指定容器的hostname;

-e username=“ritchie”: 设置环境变量;

–env-file=[]: 从指定文件读入环境变量;

–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

–link=[]: 添加链接到另一个容器;

–expose=[]: 开放一个端口或一组端口;

–volume , -v: 绑定一个卷
实例
使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。

docker run --name mynginx -d nginx:latest
使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。

docker run -P -d nginx:latest
使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。

docker run -p 80:80 -v /data:/data -d nginx:latest
绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。

$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/#

Docker start/stop/restart 命令
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
语法
docker start [OPTIONS] CONTAINER [CONTAINER…]
docker stop [OPTIONS] CONTAINER [CONTAINER…]
docker restart [OPTIONS] CONTAINER [CONTAINER…]
实例
启动已被停止的容器myrunoob

docker start myrunoob
停止运行中的容器myrunoob

docker stop myrunoob
重启容器myrunoob

docker restart myrunoob

Docket rm命令
docker rm :删除一个或多个容器。

语法
docker rm [OPTIONS] CONTAINER [CONTAINER…]
OPTIONS说明:

-f :通过 SIGKILL 信号强制删除一个运行中的容器。

-l :移除容器间的网络连接,而非容器本身。

-v :删除与容器关联的卷。

实例
强制删除容器 db01、db02:

docker rm -f db01 db02
移除容器 nginx01 对容器 db01 的连接,连接名 db:

docker rm -l db
删除容器 nginx01, 并删除容器挂载的数据卷:

docker rm -v nginx01
删除所有已经停止的容器:

docker rm $(docker ps -a -q)

DOcket inspect命令
docker inspect : 获取容器/镜像的元数据。

语法
docker inspect [OPTIONS] NAME|ID [NAME|ID…]
OPTIONS说明:

-f :指定返回值的模板文件。

-s :显示总的文件大小。

–type :为指定类型返回JSON。

实例
获取镜像mysql:5.6的元信息。

runoob@runoob:~$ docker inspect mysql:5.6
[
{
“Id”: “sha256:2c0964ec182ae9a045f866bbc2553087f6e42bfc16074a74fb820af235f070ec”,
“RepoTags”: [
“mysql:5.6”
],
“RepoDigests”: [],
“Parent”: “”,
“Comment”: “”,
“Created”: “2016-05-24T04:01:41.168371815Z”,
“Container”: “e0924bc460ff97787f34610115e9363e6363b30b8efa406e28eb495ab199ca54”,
“ContainerConfig”: {
“Hostname”: “b0cf605c7757”,
“Domainname”: “”,
“User”: “”,
“AttachStdin”: false,
“AttachStdout”: false,
“AttachStderr”: false,
“ExposedPorts”: {
“3306/tcp”: {}
},

获取正在运行的容器mymysql的 IP。

runoob@runoob:~$ docker inspect --format=’{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}’ mymysql
172.17.0.3

Docket pull命令
docker pull : 从镜像仓库中拉取或者更新指定镜像

语法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS说明:

-a :拉取所有 tagged 镜像

–disable-content-trust :忽略镜像的校验,默认开启

实例
从Docker Hub下载java最新版镜像。

docker pull java
从Docker Hub下载REPOSITORY为java的所有镜像。

docker pull -a java

Docket push命令
docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

语法
docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:

–disable-content-trust :忽略镜像的校验,默认开启

实例
上传本地镜像myapache:v1到镜像仓库中。

docker push myapache:v1

Docket images命令
docker images : 列出本地镜像。

语法
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS说明:

-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);

–digests :显示镜像的摘要信息;

-f :显示满足条件的镜像;

–format :指定返回值的模板文件;

–no-trunc :显示完整的镜像信息;

-q :只显示镜像ID。

实例
查看本地镜像列表。

runoob@runoob:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mymysql v1 37af1236adef 5 minutes ago 329 MB
runoob/ubuntu v4 1c06aa18edee 2 days ago 142.1 MB
5c6e1090e771 2 days ago 165.9 MB
httpd latest ed38aaffef30 11 days ago 195.1 MB
alpine latest 4e38e38c8ce0 2 weeks ago 4.799 MB
mongo 3.2 282fd552add6 3 weeks ago 336.1 MB
redis latest 4465e4bcad80 3 weeks ago 185.7 MB
php 5.6-fpm 025041cd3aa5 3 weeks ago 456.3 MB
python 3.5 045767ddf24a 3 weeks ago 684.1 MB

列出本地镜像中REPOSITORY为ubuntu的镜像列表。

root@runoob:~# docker images ubuntu
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 9 weeks ago 188 MB
ubuntu 15.10 4e3b13c8a266 3 months ago 136.3 MB

Docket tag命令
docker tag : 标记本地镜像,将其归入某一仓库。

语法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
实例
将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像。
root@runoob:~# docker tag ubuntu:15.10 runoob/ubuntu:v3
root@runoob:~# docker images runoob/ubuntu:v3
REPOSITORY TAG IMAGE ID CREATED SIZE
runoob/ubuntu v3 4e3b13c8a266 3 months ago 136.3 MB

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值