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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 这篇文章详细介绍了在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 \
镜像名
目录
相关文章
|
4月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
860 108
|
2月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
528 5
|
2月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
269 6
|
4月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
325 16
|
4月前
|
安全 持续交付 Docker
Docker:重塑现代软件交付的容器引擎
Docker:重塑现代软件交付的容器引擎