如何停止所有正在运行的容器?
答:可以使用 docker kill $(docker container ls -q) 命令。
如何批量清理已经停止的容器?
答:可以使用 docker container prune 命令。
如何获取某个容器的 PID 信息?
答:可以使用 docker inspect --format '{{ .State.Pid }}' <CONTAINER ID or NAME> 命令。
如何获取某个容器的 IP 地址?
答:可以使用 docker inspect --format '{{ .NetworkSettings.IPAddress }}' <CONTAINER ID or NAME> 命令
如何给容器指定一个固定 IP 地址,而不是每次重启容器 IP 地址都会变?
答:使用以下命令启动容器可以使容器 IP 固定不变
$ docker network create -d bridge --subnet 172.25.0.0/16 my-net
$ docker run --network=my-net --ip=172.25.3.3 -itd --name=my-container busybox
如何临时退出一个正在交互的容器的终端,而不终止它?
答:按 Ctrl-p Ctrl-q。如果按 Ctrl-c 往往会让容器内应用进程终止,进而会终止容器。
使用 docker port 命令映射容器的端口时,系统报错“Error: No public port '80' published for xxx”?
答:
创建镜像时 Dockerfile 要通过 EXPOSE 指定正确的开放端口;
容器启动时指定 PublishAllPort = true。
如何控制容器占用系统资源(CPU、内存)的份额?
答:在使用 docker create 命令创建容器或使用 docker run 创建并启动容器的时候,可以使用 -c|--cpu-shares[=0] 参数来调整容器使用 CPU 的权重;使用 -m|--memory[=MEMORY] 参数来调整容器使用内存的大小。
仓库相关
仓库(Repository)、注册服务器(Registry)、注册索引(Index) 有何关系?
首先,仓库是存放一组关联镜像的集合,比如同一个应用的不同版本的镜像。
注册服务器是存放实际的镜像文件的地方。注册索引则负责维护用户的账号、权限、搜索、标签等的管理。因此,注册服务器利用注册索引来实现认证等管理。
配置相关
Docker 的配置文件放在哪里,如何修改配置?
答:使用 upstart 的系统(如 Ubuntu 14.04)的配置文件在 /etc/default/docker,使用 systemd 的系统(如 Ubuntu 16.04、Centos 等)的配置文件在 /etc/docker/daemon.json。
如何更改 Docker 的默认存储位置?
答:Docker 的默认存储位置是 /var/lib/docker,如果希望将 Docker 的本地文件存储到其他分区,可以使用 Linux 软连接的方式来完成,或者在启动 daemon 时通过 -g 参数指定。
例如,如下操作将默认存储位置迁移到 /storage/docker。
[root@s26 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 5.3G 42G 12% /
tmpfs 48G 228K 48G 1% /dev/shm
/dev/sda1 485M 40M 420M 9% /boot
/dev/mapper/VolGroup-lv_home 222G 188M 210G 1% /home
/dev/sdb2 2.7T 323G 2.3T 13% /storage
[root@s26 ~]# service docker stop
[root@s26 ~]# cd /var/lib/
[root@s26 lib]# mv docker /storage/
[root@s26 lib]# ln -s /storage/docker/ docker
[root@s26 lib]# ls -la docker
lrwxrwxrwx. 1 root root 15 11月 17 13:43 docker -> /storage/docker
[root@s26 lib]# service docker start
docker基础操作2
猜你喜欢
转载自blog.csdn.net/windlyrain/article/details/86149965
今日推荐
周排行