# Docker使用经验
# 目录
[toc]
# 1.镜像&容器
镜像和容器
- 容器是由镜像实例化而来。简单来说,镜像(images)是文件,容器(container)是进程
- 命令格式3部分
- docker 命令名称 其他参数
# 2.镜像(images)相关命令
# 2.1.本地(local)和远程(remote)交互
# docker login
# docker pull
# docker push
# docker search
docker search : 从Docker Hub查找镜像
- 其实,我觉得比如,阿里的也可以查找
docker search centos
1
# 2.2.本地(local)镜像管理
# docker images⭐
docker images : 列出本地镜像。
- 这个可以查看那docker pull 某镜像 ,命令是否执行成功
# docker rmi⭐
- rmi命令的来源(rm + images)
删除本地一个或多个镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
1
# docker tag⭐[注意仓库理解]
docker tag : 标记本地镜像,将其归入某一仓库。
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
1
2
3
4
2
3
4
# 3.容器(container)相关命令
# 3.1.容器生命周期管理(大概类似进程管理)
# docker run⭐
创建一个新的容器并运行一个命令
# docker create⭐
创建一个新的容器但不启动它(注意和run命令区别)
# docker rm⭐
删除一个或多个容器
# docker kill
杀掉一个运行中的容器。
类似杀死进程了
# docker start/stop/restart⭐
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
# docker pause/unpause
docker pause : 暂停容器中所有的进程。
docker unpause : 恢复容器中所有的进程。
# 区别docker stop
和docker pause
1、stop命令用于停止一个运行中的容器,pause命令用于暂停容器中的所有进程;
2、使用stop命令容器内主进程会在指定时间内被杀死,默认为十秒,使用pause命令会挂起指定容器中的所有进程。
# docker exec 命令⭐⭐⭐
docker exec :在运行的容器中执行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
docker exec [选项] 容器 命令 [ARG...]
1
2
2
OPTIONS说明:
- **-d 😗*分离模式: 在⭐后台运行⭐
- **-i 😗*即使没有附加也保持STDIN 打开
- **-t 😗*分配一个⭐伪终端⭐(方法2,使用docker desktop里面的终端)
在容器 mynginx 中开启一个交互模式的终端:
runoob@runoob:~$ docker exec -i -t mynginx /bin/bash
root@b1a0703e41e7:/#
1
2
2
# 3.2.获取-容器本身更多信息(类似进程信息)
# docker port⭐⭐
docker port 用于列出指定的容器的端口映射,或者查找将 PRIVATE_PORT NAT 到面向公众的端口。
⭐常用:比如。用来给vscode链接我本地的docker中的Linux
# docker top
**docker top 😗*查看容器中运行的进程信息,支持 ps 命令参数。
# 4.关于docker的FAQ
# 4.1.docker疑难杂症:docker命令Tab无法自动补全
- bash的解决方案:
今天在敲命令时,发现docker无法自动补全镜像名和其他参数,这样使用效率大大降低,然后百度找方法,下面是解决方法
一、安装bash-complete
yum install -y bash-completion
1
二、刷新文件
source /usr/share/bash-completion/completions/docker
source /usr/share/bash-completion/bash_completion
1
2
简单两步,就可以Tab补全我们的镜像名和命令了。
————————————————
版权声明:本文为CSDN博主「刘李404not found」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39680564/article/details/97026656
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 4.2.zsh的解决方案(2个链接都要看)
https://developer.aliyun.com/article/914947
➜ ~ mkdir -p ~/.zsh/completion
➜ ~ curl -L https://raw.githubusercontent.com/docker/compose/1.27.4/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 28 ms: Connection refused
➜ ~ curl -L https://raw.githubusercontent.com/docker/compose/1.27.4/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 18078 100 18078 0 0 19445 0 --:--:-- --:--:-- --:--:-- 19501
➜ ~ vim ~/.zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
- .zshrc里面放
fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit -i
1
2
2
# 创建对应的目录
$ mkdir -p ~/.zsh/completion
# 从docker安装目录中获取补全插件
$ ll /Applications/Docker.app/Contents/Resources/etc
-rw-r--r--@ 1 Escape admin 13K 8 27 19:44 docker-compose.bash-completion
-rw-r--r--@ 1 Escape admin 19K 8 27 19:44 docker-compose.zsh-completion
-rw-r--r--@ 1 Escape admin 12K 8 27 19:44 docker-machine.bash-completion
-rw-r--r--@ 1 Escape admin 13K 8 27 19:44 docker-machine.zsh-completion
-rwxr-xr-x@ 1 Escape admin 105K 8 27 19:44 docker.bash-completion
-rwxr-xr-x@ 1 Escape admin 49K 8 27 19:44 docker.fish-completion
-rwxr-xr-x@ 1 Escape admin 123K 8 27 19:44 docker.zsh-completion
# 配置到zsh配置目录中
$ cp /Applications/Docker.app/Contents/Resources/etc/docker.zsh-completion ~/.zsh/completion/_docker
$ cp /Applications/Docker.app/Contents/Resources/etc/docker-compose.zsh-completion ~/.zsh/completion/_docker-compose
$ cp /Applications/Docker.app/Contents/Resources/etc/docker-machine.zsh-completion ~/.zsh/completion/_docker-machine
$ source ~/.zshrc
# 重载zsh配置
$ docker image
image -- Manage images
images -- List images
import -- Import the contents from a tarball to create a filesystem image
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
- 参考资料:http://www.pointborn.com/article/2020/10/7/990.html