将docker作为一个服务,每次开机自动启动
systemctl enable docker
启动docker
systemctl start docker
停止docker
systemctl stop docker
拉取镜像
docker pull centos 等价于 docker pull docker.io/library/centos
查看镜像
docker images
搜索镜像
docker search
删除镜像
docker rmi id
删除所有的容器
docker rm -f $(docker ps -a) ?
创建镜像
docker build -t demo .
指定容器Ip(先要自定义网络)
docker run -itd --name casesoft-shop-center --network xxx network --ip 172.18.0.20 -p 18761:8761 casesoft-shop-center /bin/bash
指定外部文件(通过数据卷实现)
docker run -itd --name casesoft-shop-auth --network xxx?network --ip 172.18.0.23 -v /opt/docker/key:/key xxx-shop-auth /bin/bash
实时查看docker容器日志
docker logs -f -t --tail 行数 容器名
查看容器日志
docker logs 容器名
打印最新 5 条日志
docker logs --tail 5 tomcat7
给日志加时间戳
docker logs -t tomcat7
查看指定时间后的日志,只显示最后100行:
docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
查看最近30分钟的日志:
docker logs --since 30m CONTAINER_ID
查看某时间之后的日志:
docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
查看某时间段日志:
docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
查看本机上的容器
docker ps –a
查看本机所有已启动的容器
docker ps
基于已有容器创建镜像
将容器ID为7f6c10d7a83c mycentos:1.0的容器创建镜像mycentos:1.0
docker commit 7f6c10d7a83c mycentos:1.0
容器启动并映射端口
docker run -itd --name ?demo -p 29090:9090 com.heynas.springboot/demo
容器启动并指定ip
docker run -itd --name test --ip 172.16.12.12 centos
容器启动并link容器(tomcat02连接到tomcat01)
docker run -itd --link tomcat01.tomcat01 --name tomcat02 repository[:tag]
导出镜像
docker save -o centos67.tar centos:6.5
导入镜像
docker load < centos67.tar
上传镜像
docker push centos6.5 不带仓库地址一般默认hub.docker.com
docker push docker.io/william750214/mycentos:2.0
间隔2秒容器停止容器
docker stop -t 1 demo
直接关闭容器
docker kill demo
重启容器
docker restart centos7
进入容器
docker exec -it containerid /bin/bash
杀死所有正在运行的容器:?
docker kill $(docker ps -a -q)
删除所有停止的容器:?
docker rm $(docker ps -a -q)
启动容器并添加数据卷(默认读写)
docker run -itd --name centos01 -v /opt/docker/data01:/datav centos
centos01 容器起个名
/opt/docker/data01 宿主机目录
/datav 容器的挂载目录
centos 镜像名称和版本号,版本号不填默认Lastest
启动容器并添加数据卷(只读)
docker run -itd --name centos02 -v /opt/docker/data01:/datav:ro centos
查看容器映射端口
docker port tomcat01
查看容器环境变量
env |grep MYSQL_ROOT_PASSWORD
查看端口是否已被使用
netstat –an|grep 9090
显示所有容器IP地址
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
获取所有容器名称及其IP地址
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
查看指定容器IP
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID>?
或?
docker inspect <container id>?
或?
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
#docker inspect --format '{{ .NetworkSettings.IPAddress }}' $1
?