docker 随笔
docker操作
docker ps -a -q 查看所有容器 ID rm -f 'docker ps -a -q' 批量删除容器
docker rm -f container_id 强制删除
为容器指定ip和网关
vi /var/lib/lxc/centos7/config lxc.network.name = eth0 lxc.network.ipv4 = 10.0.0.111/24 lxc.network.ipv4.gateway = 10.0.0.254 docker version (查看版本) docker info(如果要做监控)
docker镜像操作
查 docker image (查镜像操作手册) docker image ls (查看docker镜像) 增 1、docker image load -i python3.6.tar.gz(下载的镜像包) 2、docker pull 镜像名:版本(默认指定最新版本) 例如: 1、官方: docker pull centos:6.8(没有指定版本,默认会下载最新版) 2、第三方:(需要加上域名 daocloud.io ) docker pull daocloud.io/huangzhichong/alpine-cn:latest 删 docker image rm 镜像名:版本号 保存 docker save 镜像名:版本号 > 接受目标 例子:1、docker image save centos > docker-centos7.4.tar.gz (重定向方法) 2、docker image save centos -o docker-centos7.4.tar.gz (-o 参数方法)
docker容器操作
docker container (查看容器操作方法) docker container ls (查看 正在运行 容器信息) docker container ls -a (查看 所有容器信息)
启动容器
docker run -it --name centos6 centos:6.9 /bin/bash (centos:6.9-- 镜像名称:版本) -it 分配交互式的终端 (能直接进入容器里面) --name 指定容器的名字 (自定义容器名字) /bin/bash 覆盖容器的初始命令
进入/退出容器
1、docker attach 容器ID 或 容器名 (进入容器) 2、docker exec -it 容器id 或 容器名 /bin/bash (进入容器) 参数: i 返回输出,可以看到执行命令的结果 t 开启伪终端。 只有 it一起才能模拟出终端操作的效果 PS: (1) attach 直接进入容器 启动命令 的终端,不会启动新的进程。 (2) exec 则是在容器中打开新的终端,并且可以启动新的进程。 (3) 如果想直接在终端中查看启动命令的输出,用 attach;其他情况使用 exec 先ctrl + p 在ctrl + q (退出容器)
停止、启动、重启容器
docker stop 容器ID 后 容器名 --------停止容器 docker start 容器ID 后 容器名 ---------启动容器 docker restart 容器ID 后 容器名 ---------重启容器
docker volume 查看数据卷
docker volume create xxx 创建xxx数据卷
docker volume insprct xxx 查看xxx数据卷 详细信息
key: 创建时间,类型,标签,数据目录(挂载点),名称,.....
两种挂在方式:
docker run -d -p 80:80 -v xxx:/use/abc/html nginx:latest 把xxx数据卷挂载到容器的/use/abc/html 目录,会自动把/use/abc/html中的文件同步到 卷中。 docker run -d -p 81:80 -v /data:/use/abc/html nginx:latest 把根目录下的data目录挂在到容器的/use/abc/html 目录中,data目录里的数据会自动覆盖/use/abc/html里的数据,