下面的命令加上括号的是新版本的命令,去掉括号是老版本的命令。
在任何命令后加:--help
,就会提示处这些命令的具体用法与参数。
docker命令 | 命令解释说明 |
---|---|
docker search | search the docker hub for images |
docker (image) pull | pull an images or a repository from a registry |
docker images/docker image ls | list images |
docker create | create a new container |
docker (container) start | start one or more stopped contrainers |
docker (container) run | run a command in a new container |
docker attach | attach to a running container |
docker ps/docker container ls | list contrains |
docker (container) logs | fetch tho logs of a container |
docker restart | restart a container |
docker (container) stop | stop one or more running containers |
docker kill | kill one or more running containers |
docker (image) rm | remove one or more image |
docker network ls | 查看docker使用的网卡 |
docker inspect | Return low-level information on Docker objects。查看某个运行中的contain的详细信息(里面有IP地址),参数是contain的名字(启动container时用--name选项指定的名字),注意不是ID。 |
docker search:查找docker,比如查找nginx
在dockerhub网站上搜索nginx,在【TAG】标签里发现有很多版本。官方nigix docker里面装的操作系统好像是ubuntu,所以你下载的nginx的docker image里就有一个ubuntu系统,这个系统里好像除了nginx必要的依赖工具外,什么都没有装,但是也的40多M。
在众多版本里有一种的size最小是xxx-alpine
,Alpine也是一个Linux的发行版,特定是体积小,nginx的alpine版本的size是8M左右。
由于docker hub里的镜像都没有安装调试工具,所以,在真正的项目上,一般都是安装好调试工具,自己打包,做出一个image,然后上传的自己的私有docker hub上。
docker (image) pull:从docker hub上拉一个alpine系统下的稳定版本的nginx到本地
# docker image pull nginx:stable-alpine
docker images/docker image ls:查看本地安装了哪些的docker镜像
[root@localhost yum.repos.d]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx stable-alpine aaad4724567b 5 weeks ago 21.2MB
docker image rm:删除一个镜像文件。
docker (container) run:如果本地没有镜像文件,则会自动到仓库里下载。
$ docker container run --help
Usage: docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]
需求1:如果要想和docker container交互,必须指定-t
和-i
需求2:给要启动的docker contain一个名字。
需求3:让启动的container在后台运行(不占用当前shell进程)。
-d: Run container in background and print container ID
例子:启动nginx
docker container run --name n12 -d nginx:stable-alpine
用sudo docker container ls
查看的结果如下,
CONTAINER ID IMAGE COMMAND PORTS NAMES
6e63af9a4300 nginx:stable-alpine "nginx -g 'daemon of…" 80/tcp n12
docker network ls:查看docker使用的网卡。有下面3个就OK。
[root@localhost yum.repos.d]# docker network ls
NETWORK ID NAME DRIVER SCOPE
d410575399eb bridge bridge local
a36f938bc6c6 host host local
55ee9a442ee8 none null local
安装完docker后,使用ifconfig
,可以发现多出个docker0
网卡,IP是172.17.0.1。这个网卡的连接方式是【NAT bridge】,既不是【NAT】,也不是【bridge】。container里的进程要想和外网通信的话,要通过别的网卡(enp0s3)才可以。
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:5b:c3:2c:80 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.65.81 netmask 255.255.255.0 broadcast 192.168.65.255
container启动后,里面操作系统的网段就是172.17的
例子:启动busybox
# docker container run --name b1111 -it busybox
然后在busybox里面运行ifconfig
命令,发现ip地址是172.17.0.2
,和网卡docker0在同一个网段。
然后再运行:docker container ls
,就可以看到在names的地方是b1111。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f0f38cba6c5b busybox "sh" 5 minutes ago Up 5 minutes b1111
docker container start:启动container
Usage: docker container start [OPTIONS] CONTAINER [CONTAINER...]
Start one or more stopped containers
Options:
-a, --attach Attach STDOUT/STDERR and forward signals
--checkpoint string Restore from this checkpoint
--checkpoint-dir string Use a custom checkpoint storage directory
--detach-keys string Override the key sequence for detaching a container
-i, --interactive Attach container's STDIN
docker container stop:停止container
docker container rm :删除container,参数是container的名字。删除后用docker container ls -a
也看不到这个container。如果是stop一个container,那么用docker container ls -a
还是可以看到这个container的。
docker (container) logs:查看container中进程产生的日志内容。比如查看nginx的日志。然后把日志直接输出到控制台。
# docker container logs n12
172.17.0.1 - - [30/Nov/2019:08:52:19 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
原文:https://www.cnblogs.com/xiaoshiwang/p/11963281.html