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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
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
目录
相关文章
|
4天前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
25 4
Linux系统之Ubuntu安装cockpit管理工具
|
5天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
50 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
1天前
|
Kubernetes Cloud Native 开发者
探秘云原生计算:Kubernetes与Docker的协同进化
在这个快节奏的数字时代,云原生技术以其灵活性和可扩展性成为了开发者们的新宠。本文将带你深入了解Kubernetes和Docker如何共同塑造现代云计算的架构,以及它们如何帮助企业构建更加敏捷和高效的IT基础设施。
|
2天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
12 5
|
6天前
|
存储 运维 云计算
探索Docker容器化:从入门到实践
在这个快速发展的云计算时代,Docker容器化技术正在改变应用的开发、部署和管理方式。本文旨在为初学者提供一个关于Docker的全面入门指南,并通过实践案例展示Docker在实际开发中的应用。我们将一起了解Docker的核心概念、基本操作、网络和存储,以及如何构建和部署一个简单的Web应用。无论你是开发者还是运维人员,本文都会帮助你快速掌握Docker的核心技能。
|
3天前
|
存储 测试技术 开发者
docker中将数据卷挂载到容器
【10月更文挑战第11天】
12 3
|
3天前
|
存储 应用服务中间件 云计算
深入解析:云计算中的容器化技术——Docker实战指南
【10月更文挑战第14天】深入解析:云计算中的容器化技术——Docker实战指南
12 1
|
5天前
|
Kubernetes Ubuntu Docker
从0开始搞K8S:使用Ubuntu进行安装(环境安装)
通过上述步骤,你已经在Ubuntu上成功搭建了一个基本的Kubernetes单节点集群。这只是开始,Kubernetes的世界广阔且深邃,接下来你可以尝试部署应用、了解Kubernetes的高级概念如Services、Deployments、Ingress等,以及探索如何利用Helm等工具进行应用管理,逐步提升你的Kubernetes技能树。记住,实践是最好的老师,不断实验与学习,你将逐渐掌握这一强大的容器编排技术。
17 1
|
5天前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
18 1
|
6天前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
64 1