| docker run -dit \
--name python3.8 \
-v /Users/ffing/test:/mnt \
yankovg/python3.8.2-ubuntu18.04:latest
|
’inspect‘ 参数可以查看所有命令
镜像操作 -q获取镜像id
docker search 镜像名 #搜索镜像
docker pull 镜像名 #下载镜像
docker run 镜像名 #运行镜像
docker run -it 镜像名 #交互启动镜像(exit;Ctrl+p+q为不停止容器退出)
docker run -d 镜像名 #后台运行镜像
(踩坑:有的镜像是没有启动程序的,所有需要使用 -itd参数维持后台运行)
docker images #查看本机都有哪些镜像
docker images -q #过滤本机镜像,仅显示镜像id
docker rmi -f 镜像名 #删除镜像
docker rmi -f $(docker images -q) #批量1,删除本机所有镜像
docker images -q|xargs docker rmi -f #批量1,删除本机所有镜像
容器操作 -q获取容器id
docker ps #查看当前运行的容器
docker ps -q #显示当前运行容器,并过滤容器id
docker ps -aq #显示运行中+历史的容器
docker stop 容器id #停止进行
docker stop $(docker ps -q) #批量1,停止所有正在运行的容器
docker ps |xargs docker stop #批量2,停止所有正在运行的容器
docker rm -f 容器id #删除容器(需要先停止)
进入容器
| docker exec -it 容器id /bin/bash #此方式是新开一个终端
docker attach 容器id /bin/bash #此方式是进入正在运行的终端
|
查看容器端口
数据共享
--volumes-form 后跟容器名或容器id
| #test01挂载的目录共享给03,--volumes-from
docker run --name=test01 -v /root:/mnt -itd centos
docker run --name=test03 --volumes-from test01 -itd centos
|
网络
docker network
| #查看网络(默认bridge)
docker network ls
NETWORK ID NAME DRIVER SCOPE
b2e1e87f2af9 bridge bridge local
f633c64359c0 host host local
743bdafaaac1 none null local
|
1.Docker服务
2.docker信息
3.镜像命令
4.容器命令
一,Docker服务
| 启动docker服务:systemctl start docker
停止docker服务:systemctl stop docker
重启docker服务:systemctl restart docker
|
二,docker信息
| #docker版本
dokcer version
#docker信息
docker info
#docker帮助
docker 命令 --help
|
三,镜像命令
docker images 或 docker image list 查询本机所有镜像
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 | docker image
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 9c7a54a9a43c 3 months ago 13.3kB
#解释
REPOSITORY 镜像仓库源
TAG 镜像标签,一般是版本
IMAGE ID 镜像ID
CREATED 镜像创建时间
SIZE 镜像大小
#选项
-a, --all 显示所有镜像
-q, --quiet 仅显示镜像ID
#经常使用方法,用于列出所有镜像,通过rm统一停止、删除
#列出所有镜像id
docker images -aq
|
搜索镜像
网页搜索:hub.docker.com
docker search "包名"
| [root@localhost ~]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 18827 [OK]
unit Official build of NGINX Unit: Universal Web … 8 [OK]
nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 106
nginx/nginx-ingress NGINX and NGINX Plus Ingress Controllers fo… 74
#选项
#增加过滤条件,如下,增加STARS(点赞收藏)大于100的,(这个功能很少用的)
--filter=STARS=100
|
下载镜像
docker pull 镜像名【:TAG】
若不行TAG标签,默认latest最新版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | [root@localhost ~]# docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
0e29546d541c: Pull complete
9b829c73b52b: Pull complete
cb5b7ae36172: Pull complete
6494e4811622: Pull complete
668f6fcc5fa5: Pull complete
dc120c3e0290: Pull complete
8f7c0eebb7b1: Pull complete
77b694f83996: Pull complete
0f611256ec3a: Pull complete
4f25def12f23: Pull complete
Digest: sha256:9dee185c3b161cdfede1f5e35e8b56ebc9de88ed3a79526939701f3537a52324
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest
|
删除镜像命令
docker rmi 镜像id
| #删除指定的镜像
docker rmi -f 镜像id
#删除多个镜像
docker rmi -f 镜像id 镜像id 镜像id
#删除所有镜像id,其中$(docker images -aq)等同``docker images -aq用来获取所有镜像id
docker rmi -f $(docker images -aq)
|
四,容器命令
新建容器并启动
docker run [选项] 镜像名
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | docker run [选项] 镜像名
#选项说明
--name="定义容器名字" #定义容器名字:test1 test2
-d #后台运行
-it #交互模式进入容器
-p 主机端口:容器端口 #小p,指定映射端口
-P #大P,随机指定端口
-v #本地挂载到容器:-v /data:/usr/share/nginx/html
#测试,启动并进入容器
[root@localhost ~]# docker run -it centos
[root@0ff9c5a67372 /]#
#
docekr run -d -v
|
列出所有运行的容器
| #列出正在运行的容器
docker ps
#历史正在运行+历史,所有的容器
docker ps -a
#列出最近运行的3个容器
docker ps -n=3
|
退出容器
| #进入容器(进入容器时,新建的shell)
docker exec <容器id或容器名> /bin/bash
#进入容器(进入容器时,当前shell进程)
docker attach <容器id或容器名>
#退出并停止容器
exit
#容器不停止,退出
ctrl+p+q
|
删除容器,必须先停止容器,否则保存
docker rm 容器id
| #删除指定容器
docker rm 容器id 容器id 容器id
#删除所有容器
docker rm $(docker ps -aq)
docker ps -aq |xargs docker rm
|
启动、停止容器
| #启动容器
docker start 容器id
docker sotp 容器id
docker restart 容器id
docker kill 容器id
#在停止所有正在运行的容器
docker stop $(docker ps -q)
docker ps -q |xargs docker stop
|