容器
如果镜像是类,那么容器就是对象。
查看容器
docker ps [OPTIONS]
docker container ls [OPTIONS]
-a, --all
显示所有(默认只显示运行中的)
-q, --quiet
只显示 id
root@ubuntu:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2ec952d81bec nginx "/docker-entrypoint.…" 35 minutes ago Up 33 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp serene_cohen
515aba961085 nginx "/docker-entrypoint.…" 35 minutes ago Exited (137) 34 minutes ago elegant_chaplygin
5c778f89ae9d ubuntu "-d" About an hour ago Created crazy_proskuriakova
创建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
选项非常多,常用下面这些
-d, --detach
后台运行
-p, --publish
端口映射,有 4 种格式 containerPort
, hostPort:containerPort
, ip::containerPort
, ip:hostPort:containerPort
-t, --tty
分配终端
-i, --interactive
交互运行
--network
网络模式,默认 --network=bridge
--name
指定名字
-m, --memory
限制内存,默认 swap 和内存一样
-c, --cpu-shares
设置 cpu 相对权重
常用 -it
来进入容器
停止容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]
-t, --time
强制停止等待时间
删除容器
docker container rm
可缩写为 docker rm
docker rm [OPTIONS] CONTAINER [CONTAINER...]
-f, --force
强制删除
-l, --link
删除网络连接
-v, --volumes
删除容器关联的卷
删除所有的容器方便的命令
docker rm -f $(docker ps -a -q)
复制文件
可以复制文件到容器,也可以反过来。
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
进入容器
可以使用 attach 进入容器(我还没成功过。。)
更多的是使用 exec
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
例如
root@ubuntu:~# docker run -d --name hi_nginx nginx
2acc233fe379b1f6dbe79a4b0140c4dbe05db4e47d427a6d1dd188ca61b26b28
docker exec -it hi_nginx bash
使用命令 exit
退出