Docker 的安装和常用命令

119 阅读3分钟

安装Docker

# ssh 登录云服务器  
# 安装 DNF 包管理器
yum install epel-release   # 先安装并启用 epel-release 依赖
yum install dnf            # 安装dnf
dnf --version              # 查看版本

# 安装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-compose

# 运行此命令以下载Docker Compose的当前稳定版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 对二进制文件应用可执行权限  
sudo chmod +x /usr/local/bin/docker-compose

# 查看版本  
docker-compose --version

常用命令

管理Docker守护进程

systemctl start docker     #运行Docker守护进程
systemctl stop docker      #停止Docker守护进程
systemctl restart docker   #重启Docker守护进程
systemctl enable docker    #设置Docker开机自启动
systemctl status docker    #查看Docker的运行状态

docker rename 原容器名 新容器名    #容器重命名

管理镜像

官方镜像: hub.docker.com/

# 拉取镜像(images)
docker pull mysql

# 修改标签
docker tag mysql mysql:v1

# 查看已有镜像
docker images

# 强制删除镜像
docker rmi –f 镜像ID

管理容器

# 查看容器
docker ps     # 运行中
docker ps -a  # 所有容器

# 进入容器, 使用docker run命令进入容器;
docker run –it 容器ID /bin/bash

# 退出容器。使用exit命令退出当前容器  
docker run -d --name apache 容器ID

# 进入后台运行的容器
docker exec -it apache /bin/bash

# 将容器做成镜像,命令的参数说明:docker commit <容器ID或容器名> [<仓库名>[:<标签>]]
docker commit 容器ID/容器名称 仓库名:tag

# 为了方便测试和恢复,将源镜像运行起来后,再做一个命名简单的镜像做测试  
docker commit 4c8066cd8c01 apachephp:v1

# 运行容器并将宿主机的8080端口映射到容器里去
docker run -d -p 8080:80 apachephp:v1

# 在浏览器输入ECS实例外网IP地址加8080端口访问测试,出现内容则说明运行成功

# 停止一个运行中的容器
docker stop container_id

# 删除一个停止的容器
docker rm container_id

# 在容器和主机之间复制文件或目录。
docker cp container_id:/path/to/file /path/on/host

制作镜像

  • 一、 准备Dockerfile内容
# vim Dockerfile 
FROM apachephp:v1  #声明基础镜像来源
MAINTAINER DTSTACK #声明镜像拥有者
RUN mkdir /dtstact #RUN后面接容器运行前需要执行的命令,由于Dockerfile文件不能超过127行,因此当命令较多时建议写到脚本中执行
ENTRYPOINT ping www.aliyun.com #开机启动命令,此处最后一个命令需要是可在前台持续执行的命令,否则容器后台运行时会因为命令执行完而退出。
  • 二、构建镜像
docker build -t webcentos:v1 .   # . 是Dockerfile文件的路径,不能忽略
docker images                    #查看是否创建成功
docker run –d webcentos:v1       #后台运行容器
docker ps                        #查看当前运行中的容器
docker ps –a                     #查看所有容器,包括未运行中的
docker logs CONTAINER ID/IMAGE   #如未查看到刚才运行的容器,则用容器id或者名字查看启动日志排错
docker commit fb2844b6c070 dtstackweb:v1 #commit 后接容器id 和构建新镜像的名称和版本号。
docker images                    #列出本地(已下载的和本地创建的)镜像
docker push                      #将镜像推送至远程仓库,默认为 Docker Hub
  • 三、将镜像推送到registry
docker login --username=dtstack_plus registry.cn-shanghai.aliyuncs.com #执行后输入镜像仓库密码
docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/dtstack123/test:[镜像版本号]
docker push registry.cn-shanghai.aliyuncs.com/dtstack123/test:[镜像版本号]