一:Docker的常规操作
1.1:镜像常规操作
搜索镜像:docker search 镜像名称
[root@localhost ~]# docker search nginx
下载镜像:docker pull 镜像名称:(stars–星级:代表着镜像的使用率)
[root@localhost ~]# docker pull nginx //AUFS(联合文件系统)若干层下载
查看已有镜像:docker images
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 231d40e811cd 4 weeks ago 126MB
==//仓库名== ==//标签== ==//ID号== ==//创建的时间== ==//镜像大小==
查看镜像详细信息:docker inspect 镜像ID
[root@localhost ~]# docker inspect 231d40e811cd
- 下载后存放在 /var/lib/docker
- /var/lib/docker/image/overlay/repositories.json //下载文件信息
为镜像添加新标签:docker tag 仓库名:原标签 仓库名:新标签
[root@localhost ~]# docker tag nginx:latest nginx:web
```REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 231d40e811cd 4 weeks ago 126MB
nginx web 231d40e811cd 4 weeks ago 126MB
删除标签:docker rmi 仓库名:标签
[root@localhost ~]# docker rmi nginx:web
Untagged: nginx:web
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 231d40e811cd 4 weeks ago 126MB
删除镜像:docker rmi 镜像id,删除镜像id后此镜像所有的标签都删除
[root@localhost ~]# docker rmi 231d40e811cd
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
导出镜像(保存镜像)到相应目录:docker save -o 相应目录 仓库名:标签
[root@localhost ~]# cd /opt
[root@localhost opt]# docker save -o nginx nginx:latest
[root@localhost opt]# ls //查看一下
导入镜像:
方法1、docker load < 镜像
方法2、docker load --input 镜像
[root@docker ~]# docker load < /opt/nginx //方法一
Loaded image: nginx:latest
[root@docker ~]# docker load --input /opt/nginx //方法二
Loaded image: nginx:latest
1.2:容器常规操作
创建容器:docker create -it 仓库名:标签 登录环境
[root@localhost ~]# docker create -it nginx:latest /bin/bash
fa5b5ac04314b847acaff6c1336e31fecb40a694e78eae2f325e5ee3ba745fe5
查看容器状态:docker ps -a
[root@localhost ~]# docker ps -a //为刚刚新建的状态
CONTAINERID IMAGE COMMAND CREATED STATUS
6c9aabe7b1e5 nginx:latest "/bin/bash" About a minute ago Created
==//ID号== ==仓库名:标签== ==//环境== ==//创建的时间== ==//状态==
启动容器:docker start 容器id
[root@localhost ~]# docker start 6c9aabe7b1e5
6c9aabe7b1e5
[root@localhost ~]# docker ps -a //启动完为up状态
CONTAINERID IMAGE COMMAND CREATED STATUS
6c9aabe7b1e5 nginx:latest "/bin/bash" About a minute ago Up 1 second
停止容器:docker stop 容器id
[root@localhost ~]# docker stop 6c9aabe7b1e5
登陆正在运行的容器:两个方法
方法一:docker exec -it 容器id 环境
方法二:docker run -it 容器名:标签 环境
[root@localhost ~]# docker exec -it 6c9aabe7b1e5 /bin/bash //方法一
[root@6c9aabe7b1e5 /]# exit //已经进入容器
exit
[root@localhost ~]# docker exec -it nginx:latest /bin/bash //方法二
[root@6c9aabe7b1e5 /]#
启动容器并执行命令(执行完自动退出):docker run 镜像 环境 -c 命令
###再创建一个容器###
[root@localhost ~]# docker run centos:7 /usr/bin/bash -c ls / '//启动centos:7容器并执行ls命令'
[root@localhost ~]# docker ps -a '//发现此容器已经正常退出'
'//此命令执行完成后会自动退出,释放资源,状态是exited(0)'
启动容器并执行命令(持续在后台运行):
[root@localhost ~]# docker run -d paigeeworld/centos7 /bin/bash -c "while true;do echo hello;done"
容器导出:
###再创建一个容器###
[root@localhost ~]# docker export 6c9aabe7b1e5 > nginx_c
容器导入(会生成镜像,而不会创建容器)
[root@localhost ~]# cat nginx_c丨docker import - nginx:web
删除容器(先停止容器在删除):docker rm 容器id
[root@localhost ~]# docker rm 4d8dcf51a4ef
批量删除容器:docker ps -a |awk ‘{print "docker rm "$1}’|bash
[root@localhost ~]# docker ps -a |awk '{print "docker rm "$1}'|bash
//下面一系列的容器都删除了
。。。省略