👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
本文介绍如何在Linux实例上部署Docker,以及Docker常用操作和镜像制作过程。
关于Docker
Docker是一个开源应用容器引擎,可以将应用程序及其依赖项打包到可以在任何Linux、Windows或macOS计算机上运行的虚拟容器中,使应用程序能够在各种位置运行,如本地、公有云或私有云。更多信息请访问Docker docs获取。
Docker主要组成部分如下:
Docker Client客户端
Docker Daemon守护进程
Docker Image镜像
Docker Container容器
前提条件
已购买云服务器并绑定公网 IP。
云服务器状态为运行中 。
linux系统内核为3.10及以上版本,且系统为64位。可通过uname -r查询。
软件版本
Linux操作系统:本文以CentOS Stream 9为例。
操作步骤
安装Docker
登录云服务器。
执行以下命令,添加yum源。
yum update -yyum install epel-release -yyum clean allyum list
依次执行以下命令,添加Docker CE镜像源。更多操作请参考Docker CE镜像。
# 安装必要的一些系统工具sudo yum install -y yum-utils# 添加软件源信息sudo yum-config-manager --add-repo https://mirrors.ivolces.com/docker/linux/centos/docker-ce.reposudo sed -i 's+download.docker.com+mirrors.ivolces.com/docker+' /etc/yum.repos.d/docker-ce.repo# 更新并安装Docker-CEsudo dnf makecache --refreshsudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
执行以下命令,运行Docker。
systemctl start docker
执行以下命令,确认Docker安装情况。
docker info
返回如下信息,即为安装成功。
使用Docker
管理Docker守护进程
systemctl start docker #运行 Docker 守护进程systemctl stop docker #停止 Docker 守护进程systemctl restart docker #重启 Docker 守护进程
管理镜像
拉取镜像
本文以Docker Hub的Ubuntu镜像为例。
docker pull ubuntu
查看已有镜像
docker images
强制删除镜像
docker rmi -f ubuntu
删除后,可通过docker images查看目标镜像是否成功删除。
管理容器
进入容器
docker run -it ImageId /bin/bash
其中,ImageId可通过执行docker images命令获取。
退出容器
执行exit命令,退出当前容器。
后台运行容器
docker run -d --name ubuntu ImageId
说明
--name指定容器名称为 ubuntu。
进入后台运行的容器
docker exec -it 容器 ID /bin/bash
说明
其中,容器 ID可通过执行docker ps命令获取。
将容器做成镜像
docker commit <容器 ID 或容器名> [<仓库名>[:<标签>]]
说明
例如:docker commit 097fdd5e**** dockertest/ubuntu:latest。
制作镜像
执行以下命令,创建并编辑Dockerfile文件。
vim Dockerfile
按i进入编辑模式,添加以下内容。
FROM nginxRUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
Dockerfile指令介绍如下。以下仅介绍简单指令,如需了解更多,请参见官方网站。
FROM语句:表示使用Nginx镜像作为基础镜像,一个Dockerfile中FROM是必备的指令,并且必须是第一条指令。
RUN语句:格式为RUN <命令>,表示执行echo命令,在显示器中显示一段Hello, Docker!的文字。
按下Esc键,输入:wq按下回车键,保存并退出Dockerfile文件。
执行以下命令,构建镜像。
docker build -t nginx:v1 . # . 是 Dockerfile 文件的路径,不能忽略docker images #查看是否创建成功
执行以下命令,运行容器并查看。
docker run -d nginx:v1 #后台运行容器docker ps #查看当前运行中的容器docker ps -a #查看所有容器,包括未运行的容器docker logs CONTAINER ID/NAMES #如未查看到刚才运行的容器,则用容器 ID 或者名字查看启动日志排错
执行以下命令,制作镜像。
docker commit bd0d3e7e**** nginxtest:v1 #commit 参数后添加容器 ID 和构建新镜像的名称和版本号。docker images #列出本地(已下载的和本地创建的)镜像。
将镜像推送至远程仓库。
默认推送到Docker Hub。您需要先登录Docker,为镜像绑定标签,将镜像命名为Docker 用户名/镜像名:标签的格式。最终完成推送。
docker logindocker tag [ImageId] [Docker 用户名]/[镜像名]:[标签]docker push [Docker 用户名]/[镜像名]:[标签]
登录dockerhub查看。