前言
简单记录一下如何在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 \
镜像名