基础知识
docker version
获取docker版本信息
docker version
docker info
获取docker详细信息
docker info
docker search
搜索镜像
docker search centos
docker search nginx
一般搜索镜像都在官方搜索:https://hub.docker.com/search?q=alpine&type=image
docker pull
拉取一个镜像到本地,如本地已经,则不会重拉
docker pull alpine:latest
#拉取指定位置的镜像,如阿里云
docker pull xxx.com/alpine:latest
docker push
推送本地的镜像到镜像仓库
docker run
#前台运行一个docker容器
docker run -ti nginx:latest bash
#前后台运行一个docker容器
docker run -d centos:centos8.4.2105 bash
后台运行的容器执行完1-100输出后,直接退出,,状态为exited
docker logs
docker ps
#查看正在运行容器
docker ps
#查看所有容器
docker ps -a
#查看正在运行容器的id
docker ps -q
#查看正在运行容器的id
docker ps -qa
docker exec
进入正在运行的容器中
docker exec -ti 7aa413168878 bash
docker exec -ti 7aa413168878 sh
kubectl exec -ti nginx-689dc9f579-kwnrk -- sh
docker run -ti -p 12345:80 nginx:latest
docker cp
宿主机---->docker
docker---->宿主机
docker rmi
删除镜像
docker rm
删除容器
docker stop
docker start
docker history
查看镜像的修改记录
docker build
docker build -t ImageName:TagName dir
-t − 给镜像加一个Tag
ImageName − 给镜像起的名称
TagName − 给镜像的Tag名
Dir − Dockerfile所在目录
docker commit
提交修改后的镜像
docker commit -a "zhaodaye" -m "add index.html" 04661cdce581 nginx:commit
docker run -ti nginx:latest bash
##exit退出容器,docker ps -a的exited中有此容器
docker run -ti --rm nginx:latest bash
#exit退出容器及删除,docker ps -a的exited中无此容器;
Dockerfile命令
CMD和ENDRYPIONT必须要有一个;
CMD可以被覆盖,如果有ENTRYPOINT的话,CMD就是ENTRYPOINT的参数;
ENTRYPOINT----->COMMAND;CMD------>arg;
ADD:复制后解压;copy:复制不解压;
演示dockerfile使用
01 测试RUN命令
mkdir dockerfiles;
cd dockerfiles;
vim Dockerfile;
使用docker bulid命令生成镜像
docker build -t centos:user .
查看生成的镜像
运行镜像 :
docker run -ti --rm centos:user bash
---rm退出即删除
进入容器,查看run命令执行结果
02 测试CMD命令
docker build -t centos:cmd .
03 ENTRYPOINT命令测试
03-01测试
docker build -t centos:ep .
03-2测试
docker build -t centos:ep1 .
04 ENV测试
docker build -t centos:ep_env .
测试如下:
05 ADD命令测试
docker build -t centos:add .
05 COPY命令测试
docker run -ti --rm centos:copy bash
06 WORKDIR命令测试
docker build -t centos:workdir1 .
07 USER命令测试
docker build -t centos:user .
08 VOLOME命令测试
docker run -ti --rm centos:volume bash
docker run -ti -v /root/mysql_data/:/data centos:volume bash
常见命令参考:
https://docs.docker.com/engine/reference/commandline/version/