日常使用命令
docker pull 下载镜像
[root@cgls ~]# docker pull centos
docker search 查询镜像
[root@cgls ~]# docker search centos
docker images 查看镜像
[root@cgls ~]# docker images
docker rmi 删除镜像
[root@cgls ~]# docker rmi <镜像tag>
[root@cgls ~]# docker rmi <镜像id>
删除镜像的时候,指定镜像id会删除该镜像所有标签的文件,所以慎用
docker tag 修改镜像标签名
[root@cgls ~]# docker tag <源镜像名> <新镜像名>
docker run 创建容器
/bin/bas和/usr/sbin/init都是CMD命令
[root@cgls ~]# docker run -itd centos /bin/bash
如果centos版本为7的话,启动的时候需要添加参数--privileged,以确保systemctl命令可以正常使用
[root@cgls ~]# docker run -itd --privileged centos /usr/sbin/init
docker ps -a 查看所有容器的状态
[root@cgls ~]#docker ps -a
docker 创建数据卷
请参考《docker 数据持久化》
docker network ls 查看网络
[root@cgls ~]# docker network ls
docker network create 创建网络
创建macvlan网络需要打开相应网卡的混杂模式且网关必须真实存在
[root@cgls ~]# ip link set eth1 promisc on
[root@cgls ~]# docker network create -d macvlan --subnet=172.16.16.0/16 --gateway=172.16.1.1 -o parent=eth1 mac_net
docker network connect 添加网卡
[root@cgls ~]# docker network connect bridge <容器名/容器id>
docker network disconnect 卸载网卡
[root@cgls ~]# docker network disconnect bridge <容器名/容器id>
docker start 启动某个容器
[root@cgls ~]# docker start <容器名/容器id>
docker stop 关闭某个容器
[root@cgls ~]# docker stop <容器名/容器id>
docker restart 重启某个容器
[root@cgls ~]# docker restart <容器名/容器id>
docker rm 删除某个容器
f参数代表强制删除,v参数代表删除数据卷
[root@cgls ~]# docker rm -f -v <容器名/容器id>
docker exec 交互式的进入某个容器
[root@cgls ~]# docker exec -it <容器名/容器id> /bin/bash
docker attach 进入某个容器
[root@cgls ~]# docker attach-it <容器名/容器id> /bin/bash