centos 8 安装docker及常用命令

安装 docker 安装

link

配置ustc镜像

mkdir -pv /etc/docker
vim /etc/docker/deamon.json

deamon.json 内容⬇️

{
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

# 修改完后保存,重启docker

相关命令

# 停止服务
systemctl stop docker

# 开启服务
systemctl start docker

# 重启服务
systemctl restart docker

# 查看启动状态
systemctl status docker 

# 查看docker信息
docker info

# 配置开机启动docker
systemctl enable docker

# 查看镜像
docker images

# 搜索镜像
docker search centos

# 拉取镜像
docker pull centos:7

# 删除镜像 (id || name)
docker rmi IMAGE ID

# 删除所有镜像
docker rmi `docker images -q`

# 查看正在运行的镜像
docker ps

# 查看所有容器
docker ps -a

# 查看最后一次运行的镜像
docker ps -l

# 查看停止的镜像
docker ps -f status=exited

# 创建容器
docker run

# 重命名容器
docker rename oldName newName

# 交互方式创建一个容器(指定容器名:id)
docker run -it --name=centos centos:7 /bin/bash

# 以守护程序方式运行容器
docker run -di --name=mycentos2 centos:7

#  进入某个正在运行的容器
docker exec -it mycentos2 /bin/bash

# 退出当前容器
exit

# 停止容器(ID || name)
docker stop ID

# 启动容器(ID || name)
docker start ID

# 删除容器实例
docker rm -f ID

# 删除所有容器
docker rm -f `docker ps -a -q`

# 往容器内拷贝文件(cp 本机地址 容器ID: 容器地址)
docker cp test 225a22a0a78e:/usr/local/

# 往本机拷贝文件(cp 容器ID: 容器地址 本机地址)
docker cp 225a22a0a78e:/usr/local/test test2

# 查看容器详细信息
docker inspect ID

# 目录挂载(本地地址: docker地址 实例名 镜像名: 标签)
docker run -di -v /root/docker/mycentos3/:/usr/local/localhost --name=mycentos centos:7

# 容器保存为镜像
docker commit redis myredis

# 镜像备份(将镜像保存为tar文件)
docker save -o myredis.tar myredis

# 镜像恢复与迁移(-i 输入的文件)
docker load -i myredis.tar

安装mysql

# 拉取mysql 8.0镜像
docker pull mysql:8.0

# 运行(宿主机端口: 容器端口、-e 添加一个环境变量,直接设置root密码、镜像名: 版本)
docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql:8.0
docker run -di --name=mysql -p 3307:3307 -e MYSQL_ROOT_PASSWORD=password mysql:8.0

# 进入mysql容器内
docker exec -it mysql /bin/bash

# 登陆mysql并设置字符集
mysql -uroot -ppassword --default-character-set=utf8

# 端口占用查询
sudo netstat -nlpl |grep 3306

# 修改身份认证插件为 mysql_native_password
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

# 刷新权限
FLUSH PRIVILEGES;

2059有效方法

安装Nginx

# 拉取nginx镜像
docker pull nginx

# 以守护程序方式运行容器
docker run -di --name=nginx -p 80:80 nginx

# 以守护程序方式运行容器,同时挂载nginx的配置目录,想挂载需要先有相应的目录
docker run -di --name=nginx -p 80:80 -v /usr/local/mydata/conf/:/etc/nginx nginx
docker run -di -v /usr/local/mydata/conf/:/etc/nginx --name=nginx -p 80:80 nginx

安装Redis

# 拉去Redis镜像
docker pull redis

# 以守护程序方式运行容器,并设置运行端口
docker run -di --name=redis -p 8080:6379 redis

# 进入redis-cli
redis-cli

# 测试是否连通
PING

# 创建值
set ping Pang

# 获取值
get ping

# 退出
exit


dockerFile

dockerFile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像
对于开发人员:可以为开发团队提供一个完全一致的开发环境

docker私有仓库

私有仓库搭建与配置

# 拉取私有仓库
docker pull registry

# 启动私有仓库容器
docker run -di --name=registry -p 5000:5000 registry

# 打开浏览器访问localhost:5000/v2/_catalog 看到{"registories":[]} 表示私有仓库搭建成功并且内容为空

# 修改deamon.json,添加以下内容,保存退出。

{"insecure-registries": ["ip:端口]

# 此步用于让docker信任私有仓库地址

# 重启docker服务
systemctl restart docker

# 启动私有仓库容器
docker start registry

# 打开浏览器访问localhost:5000/v2/_catalog

私有仓库镜像上传

docker tag redis ip:端口/redis
docker images
docker push repository

DockerMaven插件自动部署

后续自己 查吧,不做详细赘述

安装RabbitMQ

# 拉取镜像
docker pull rabbitmq:3.7.12

# 以守护程序方式运行容器
docker run -di --name=rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:3.7.12

# 进入容器
docker exec -it rabbitmq /bin/bash

# 安装rabbitmq的ui插件
rabbitmq-plugins  enable rabbitmq_management
# 访问地址localhost:15672

安装Elasticsearch

# 拉取镜像
docker pull elasticsearch:7.5.0

# 修改虚拟内存区域大小,否则会因为过小而无法启动
sysctl -w vm.max_map_count=262144

# 以守护程序方式运行容器
docker run -di --name=rabbitmq -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "cluster.name=elasticsearch" -v /本机/:/usr/share/elasticsearch/plugins elasticsearch:7.5.0

# 安装中文分词器
docker exec -it elasticsearch /bin/bash

# 此命令需要在容器中运行
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.0/elasticsearch-analysis-ik-7.5.0.zip

# 重启elasticsearch
exit
docker restart elasticsearch

# 访问地址localhost:9200

有什么不同见解可以在评论区共同讨论
原文地址:https://www.cnblogs.com/lambertlt/p/15791380.html