1. centos7安装docker
1.1安装可以直接查看翻译的官方文档,很详细,附上链接
1.2 配置阿里云加速镜像
因为dockerhub是外国的网站,速度太慢,所以我们要配置阿里云加速镜像
我们找到自己的阿里云镜像地址:
我的是: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
找到下面自己的类似代码,复制进去,执行就行了
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://k08rgkav.mirror.aliyuncs.com"] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2. 常用命令
2.1 镜像命令
> docker images # 列出本地主机上的镜像**
>
> options说明:
>
> -a : 列出本地所有的镜像(含中间映像层)
>
> -q : 只显示镜像ID
>
> --digests: 显示镜像的摘要信息
>
> --no-trunc : 显示完整的镜像信息, 也是不截断输出
> docker search 镜像名字 # 搜索镜像
>
> docker pull 镜像名字 # 拉取镜像
>
> docker rmi -f 镜像名字/ID # 删除单个镜像
>
> docker rmi -f $(docker images -qa) # 删除全部镜像
2.2 容器命令
docker ps # 查看docker当前活着的容器 -q 显示容器ID -a: 查看跑着的+历史运行的 -l:上一次运行的容器 -n 数字: 上3次
docker run -it 镜像ID或名字 # 新建并启动容器 -it: 交互, 给一个伪输入终端,并进入到里面 --name: 别名
#启动容器
docker start 容器ID
docker restart 容器ID
#停止容器
exit #停止退出容器
ctrl+P+Q #不停止退出容器
#删除容器: 将历史记录也删除 -f 强制删除,包括正在运行的
docker rm -f 容器ID
#批量删除:
docker rm -f $(docker ps -qa) 或者 docker ps -qa| xargs docker rm
参数: --privileged=true #如果写权限不够的话, 将这个开为true, 超级权限
2.3 Dockerfile
FROM #基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER #镜像维护者的姓名和邮箱地址
RUN #容器构建时需要运行的命令
EXPOSE #当前容器对外暴漏出的端口
WORKDIR #指定在创建容器后,终端默认登录的进来工作 目录,一个落脚点
ENV #用来在构建镜像过程中设置环境变量
ADD #讲宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY #1.类似ADD,拷贝文件和目录到镜像中; 2.讲从构建上下文目录<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置
VOLUME #容器数据卷,用于数据保存和持久化工作
#两者的区别: 一个会覆盖,一个在后面追加
CMD #1.指定一个容器启动时要运行的命令; 2.Dockerfile中可以有多个cmd指令,但只有最后一个生效,cmd会被docker run 之后的参数替换
ENTRYPOINT #1.指定一个容器启动时要运行的命令; 2.ENRTRYPOINT的目的和CMD用于,都是在指定容器启动程序及参数
#这个镜像被继承的时候,会触发函数
ONBUILD #当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发