目录
一,docker基本命令
docker的启动停止和重启,开机自启,查看状态
systemctl start docker ##启动
systemctl stop docker ##停止
systemctl restart docker ##重启
systemctl enable docker ##设为开机自启
systemctl status docker ##查看当前docker状态
二,docker镜像命令
拉取镜像:
docker pull image_name ##image_name为镜像名称
docker pull centos:latest ##从Docker公有仓库中拉取最新的centos镜像
查看本地镜像:可以查看到我们刚刚从公共仓库中拉取到的centos镜像
docker images ##列出所有本地镜像
删除镜像:
docker rmi image_name
docker rmi centos ##删除镜像centos
给镜像打标签:
可以看到,它并不会直接在原镜像上更改,而是新增标签,相当于别名。
docker tag 镜像名/镜像id 镜像名:标签名
docker tag centos centos:c7 ##给centos镜像打标签为c7
镜像的导出导入:
docker save -o 导出的名.tar 要导出的镜像名
docker save -o jpz.tar centos
docker load -i 导入的名.tar
docker load -i jpz.tar
三,docker容器命令
查看运行中的容器:
docker ps ##查看正在运行中的容器
查看所有容器(包扩未运行的):
docker ps -a
运行容器,并调用镜像中的bash:
docker run -ti --name NAME -v 当前路径:容器内路径 container_name/container_id /bin/bash
-i: 交互式操作。
-t: 终端。
-d:后台运行。
docker run -dit centos /bin/bash ##最简单的运行一个容器,以交互方式在后台启动一个终端运行
进入容器:
docker attach container_name/container_id
docker exec -it NAME /bin/bash
容器的启动,重启和停止:
docker start container_name/container_id
docker restart container_name/container_id
docker stop container_name/container_id
删除容器(未运行的容器):
docker rm container_name/container_id
四,镜像的构建
从公共仓库的拉取的镜像并不完美,因此我们需要用从公共仓库拉取的镜像为基础镜像,做进一步的更改,加上我们自己需要的东西,构成新的镜像,下次就可以直接用这个新镜像。而构建镜像就是用dockerfile来完成的。
Dockerfile:是自动构建 docker 镜像的配置文件。
FROM centos:7 ##基于centos1镜像
MAINTAINER wqdj ##创作者
RUN /bin/echo 'root:000000' |chpasswd
RUN useradd jpz ##创建jpz用户
RUN yum -y install httpd ##安装httpd服务
RUN echo "wqdj" > /var/www/html/index.html ##写入文件
WORKDIR /jpz ##工作目录
EXPOSE 22 ##暴露的端口
EXPOSE 80
CMD /usr/sbin/sshd -D ##启动命令
Dockerfile详解:
FROM
构建镜像基于哪个镜像
MAINTAINER
镜像维护者姓名或邮箱地址
RUN
构建镜像时运行的指令
CMD
运行容器时执行的shell环境
VOLUME
指定容器挂载点到宿主机自动生成的目录或其他容器
USER
为RUN、CMD、和 ENTRYPOINT 执行命令指定运行用户
WORKDIR
为 RUN、CMD、ENTRYPOINT、COPY 和 ADD 设置工作目录,就是切换目录
HEALTHCHECH
健康检查
ARG
构建时指定的一些参数
EXPOSE
声明容器的服务端口(仅仅是声明)
ENV
设置容器环境变量
ADD
拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压
COPY
拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能
ENTRYPOINT
运行容器时执行的shell命令
生成(构建)镜像:
docker build -t NAME .
docker build -t wqdj .
使用docker images可以查看到我们新构建的镜像