简易记录docker使用:
一、安装
- 运行以下命令,安装Docker存储驱动的依赖包
dnf install -y device-mapper-persistent-data lvm2 - 运行以下命令,添加稳定的Docker软件源
dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo - 运行以下命令,查看已添加的Docker软件源
dnf list docker-ce - 运行以下命令安装Docker
dnf install -y docker-ce --nobest - 运行以下命令启动Docker
systemctl start docker
二、使用
- docker相关的守护进程
systemctl status docker #查看Docker的运行状态 systemctl start docker #运行Docker守护进程 systemctl stop docker #停止Docker守护进程 systemctl restart docker #重启Docker守护进程 systemctl enable docker #设置Docker开机自启动 ··· - 拉取nginx镜像
默认拉取的是latest的docker pull nginx - 查看已有镜像
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