Docker简易安装与使用

148 阅读2分钟

简易记录docker使用:

一、安装

  1. 运行以下命令,安装Docker存储驱动的依赖包
    dnf install -y device-mapper-persistent-data lvm2
    
  2. 运行以下命令,添加稳定的Docker软件源
    dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  3. 运行以下命令,查看已添加的Docker软件源
    dnf list docker-ce
    
  4. 运行以下命令安装Docker
    dnf install -y docker-ce --nobest
    
  5. 运行以下命令启动Docker
    systemctl start docker
    

二、使用

  1. docker相关的守护进程
    systemctl status docker    #查看Docker的运行状态
    systemctl start docker     #运行Docker守护进程
    systemctl stop docker      #停止Docker守护进程
    systemctl restart docker   #重启Docker守护进程
    systemctl enable docker    #设置Docker开机自启动
    ···
    
  2. 拉取nginx镜像
    docker pull nginx
    
    默认拉取的是latest的
  3. 查看已有镜像
    docker images    #查看已有镜像
    docker rmi -f {imageId}  #删除镜像,-f后面为镜像id
    

4、管理镜像

docker run -it {imageId} /bin/bash  #进入容器
docker run -d --name nginx {imageId}  #-d: 指定后台运行--name:指定容器命名为nginx
docker exec -it nginx /bin/bash   # 进入后台模式运行的容器中
exit   #退出容器
docker ps  #查看容器

5、测试容器

docker commit containerID/containerName repository:tag  #将容器做成镜像命令的参数说明:`docker commit <容器ID或容器名> [<仓库名>[:<标签>]]`
docker commit {imageId} nginx:test  #做一个测试镜像
docker run -d -p 8080:80 nginx:test   #运行镜像并将内部端口80映射到宿主机的80上

制作镜像

vim Dockerfile   #新建Dockerfile 文件

文件内容编辑如下:

#声明基础镜像来源。
FROM nginx:latest
#声明镜像拥有者。
MAINTAINER tuiguangjia
#RUN后面接容器运行前需要执行的命令,由于Dockerfile文件不能超过127行,因此当命令较多时建议写到脚本中执行。
RUN mkdir /web
#开机启动命令,此处最后一个命令需要是可在前台持续执行的命令,否则容器后台运行时会因为命令执行完而退出
ENTRYPOINT ping www.tuiguangjia.com

创建镜像

docker build nginx:dev .   #.代表Dockerfile 文件在当前目录下
docker images   #检查是否创建成功

创建后运行容器并查看

docker run -d nginx:dev  #后台运行容器
docker ps  #查看已运行的容器
docker ps -a #查看所有容器,包括未运行的容器
docker log  {containerId/containerName}  #通过容器名字或容器id查看日志

基于以上容器制作镜像

docker commit {containerId} nginx:pro  #{imageId} 为容器id,后面为新镜像的名字和版本号
docker images #列出本地镜像(下载的或本地新创建的)

将制作好的镜像推送到镜像仓库中

docker login --username {username} {password}
docker tag [imageId] tuiguangjia-nginx:test
docker push tuiguangjia-nginx:test