在Ubuntu操作系统上安装/使用/卸载Docker容器引擎

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 这篇文章详细介绍了在Ubuntu操作系统上安装、配置、使用、基本操作以及卸载Docker容器引擎的步骤,包括配置Docker镜像加速和使用Docker部署Nginx、MySQL和Redis服务器的方法。

前言

简单记录一下如何在Ubuntu操作系统上安装、使用、卸载Docker容器引擎,以及配置Docker镜像加速地址。使用Docker分别部署单机Nginx、MySQL、Redis服务器。

一、在Ubuntu操作系统上安装Docker容器引擎

(1)直接使用 apt 安装,一般这样也自动启动好了

apt install docker.io

二、验证安装成功,以及启动与校验

(1)查看 Docker 版本

docker --version

(2)查看 Docker 状态

systemctl status docker

(3)启动 Docker

systemctl start docker

(4)停止 Docker

systemctl stop docker

(5)重启 Docker

systemctl restart docker

(6)开机自启动 Docker

systemctl enable docker

(7)执行 docker ps 命令,若不报错,则说明启动成功

docker ps

三、镜像加速

1.修改【/etc/docker/daemon.json】文件,没有就创建这个文件,然后网上随便找一下Docker镜像加速地址并填入

{
   
  "registry-mirror": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "registry.docker-cn.com"
  ]
}

2.重载生效

systemctl daemon-reload
systemctl restart docker

3.如果是内网镜像地址,搜索和拉取镜像的命令可能如下

(1)搜索镜像

docker search registry.docker-cn.com/nginx

(2)拉取镜像

docker pull registry.docker-cn.com/official/nginx

四、基本操作命令

1.查看可用镜像
docker search ubuntu

2.拉取镜像,如拉取Ubuntu镜像
docker pull ubuntu

3.启动Ubuntu镜像
docker run -it ubuntu /bin/bash

4.查看镜像内文件
ll

5.退出镜像
exit

6.列出所有镜像
docker images -a

7.删除镜像
docker rmi 镜像ID

8.查看所有容器
docker ps -a

9.启动容器
docker start 容器名

10.停止容器
docker stop 容器名

11.重启容器
docker restart 容器名

12.更改容器名字
docker rename 旧名称 新名称

13.与容器内的环境进行交互
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

14.列出所有运行中的容器
docker ps

15.列出所有的容器
docker ps -a

16.删除容器
docker rm 容器ID或容器名称

五、卸载Docker容器引擎

(1)卸载软件和配置文件

apt-get purge docker.io

(2)使用【rm -rf】删除【whereis docker】和【which docker】搜出来的相关目录和文件

whereis docker
which docker

六、Docker创建MySQL实例并启动

(1)搜索镜像

docker search mysql

(2)拉取镜像

docker pull mysql

(3)实例化启动命令

docker run -d \
--name czq_mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
镜像名

docker run -d \
--name czq_mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
--privileged=true \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf:/etc/mysql/ \
-v /opt/mysql/logs:/var/log/mysql \
镜像名

docker run -d \
--name czq_mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf:/etc/mysql/conf.d \
镜像名

七、Docker创建Nginx实例,挂载html目录、配置文件并启动

(1)搜索镜像

docker search nginx

(2)拉取镜像

docker pull nginx

(3)实例化启动命令,包括相关配置

docker run -d \
--name czq_nginx \
-p 80:80 \
-p 443:443 \
镜像名

mkdir /opt/nginx/
cd /opt/nginx/

docker cp czq_nginx:/etc/nginx/nginx.conf ./
docker cp czq_nginx:/etc/nginx/conf.d ./
docker cp czq_nginx:/usr/share/nginx/html ./

mkdir /opt/nginx/logs

docker stop czq_nginx
docker rm czq_nginx

docker run -d \
--name czq_nginx \
--restart always \
--privileged=true \
-p 80:80 \
-p 443:443 \
-v /opt/nginx/html:/usr/share/nginx/html \
-v /opt/nginx/logs:/var/log/nginx \
-v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/nginx/conf.d:/etc/nginx/conf.d \
镜像名

mkdir /opt/nginx/certs

docker stop czq_nginx
docker rm czq_nginx

docker run -d \
--name czq_nginx \
--restart always \
--privileged=true \
-p 80:80 \
-p 443:443 \
-v /opt/nginx/html:/usr/share/nginx/html \
-v /opt/nginx/logs:/var/log/nginx \
-v /opt/nginx/certs:/etc/ssl/certs \
-v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/nginx/conf.d:/etc/nginx/conf.d \
镜像名

八、Docker创建Redis实例,挂载目录、配置文件并启动

(1)搜索镜像

docker search redis

(2)拉取镜像

docker pull redis

(3)实例化启动命令,包括相关配置

mkdir /opt/redis/data
mkdir /opt/redis/conf
touch /opt/redis/conf/redis.conf

docker run -d \
--name czq_redis \
-p 6379:6379 \
--privileged=true \
-v /opt/redis/data:/data \
-v /opt/redis/conf/redis.conf:/etc/redis/redis.conf \
镜像名
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
10天前
|
Linux iOS开发 Docker
MyEMS开源系统安装之Linux/macOS上的DOcker
本指南详细介绍了如何在Linux/macOS上使用Docker部署MyEMS系统。主要内容包括:前置条件(如安装Docker、npm和MySQL),以及分步骤部署各个组件(如myems-api、myems-admin、myems-modbus-tcp等)。每个步骤涵盖源代码复制、环境配置、镜像构建、容器运行及日志管理等操作,并提供了多平台构建的支持。最后,指南还说明了默认端口和登录凭据,帮助用户快速启动并访问MyEMS的管理界面和Web界面。
37 1
|
26天前
|
开发者 Docker 容器
获取Docker基础使用方法:让容器化变得轻松。
对于Docker的初学者来说,了解这些基础知识点就足够了。实践是最好的老师,越是动手操作,对Docker的理解会越深。祝阅读这篇文章的开发者们一切顺利,愿你在Docker的海洋中航行顺利!
79 17
|
1月前
|
关系型数据库 MySQL 数据库
Docker 安装常用软件相关命令
本文介绍了在CentOS 7.9系统上安装Docker的详细步骤,包括添加阿里云镜像源、安装Docker及相关组件、启动服务以及配置镜像加速。同时,还展示了如何通过Docker安装MySQL 5.7版本数据库,涵盖拉取镜像、创建数据目录、运行容器及配置挂载点等操作,并提供验证安装成功的命令和截图。适合需要部署Docker与MySQL环境的用户参考。
125 4
|
1月前
|
关系型数据库 MySQL Docker
|
11天前
|
Docker 容器
Docker网关冲突导致容器启动网络异常解决方案
当执行`docker-compose up`命令时,服务器网络可能因Docker创建新网桥导致IP段冲突而中断。原因是Docker默认的docker0网卡(172.17.0.1/16)与宿主机网络地址段重叠,引发路由异常。解决方法为修改docker0地址段,通过配置`/etc/docker/daemon.json`调整为非冲突段(如192.168.200.1/24),并重启服务。同时,在`docker-compose.yml`中指定网络模式为`bridge`,最后通过检查docker0地址、网络接口列表及测试容器启动验证修复效果。
|
1月前
|
存储 弹性计算 Linux
安装Docker
常见操作系统安装docker步骤
114 15
|
1月前
|
Docker 容器
在openEuler 22.03 LTS上安装Docker CE和Docker Compose
以上就是在openEuler 22.03 LTS上安装Docker CE和Docker Compose的过程。希望这个指南能帮助你顺利完成安装。
295 12
|
2月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana(docker安装)
本文档详细介绍了如何使用Docker容器快速部署Prometheus监控系统和Grafana数据可视化平台。该方案适用于需要快速搭建监控环境的开发测试场景,具备部署简单、资源占用低、易于维护等特点。
|
2月前
|
Ubuntu Linux Docker
Docker容器的实战讲解
这只是Docker的冰山一角,但是我希望这个简单的例子能帮助你理解Docker的基本概念和使用方法。Docker是一个强大的工具,它可以帮助你更有效地开发、部署和运行应用。
129 27
下一篇
oss创建bucket