docker(CentOS)

安装docker(CentOS)


1 卸载系统之前的docker 
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2  设置存储库
sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3  安装DOCKER引擎
sudo yum install docker-ce docker-ce-cli containerd.io

4  启动Docker.
sudo systemctl start docker

5 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装mysql

1 拉去mysql镜像
sudo docker pull mysql:8.0

2 启动mysql容器
# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
sudo docker run --name mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql:/etc/mysql/conf.d -v /usr/local/mysql/log:/var/log/mysql  -e MYSQL_ROOT_PASSWORD=root  -p 3306:3306 -d mysql:8.0

3 使用su - root(切换为root,这样就不用每次都sudo来赐予了)
su - root
4 进入mysql容器
docker exec -it 容器名称|容器id bin/bash

安装redis

1 在docker hub搜索redis镜像
docker search redis

2 拉取redis镜像到本地
docker pull redis:6.0.10

3 修改需要自定义的配置(docker-redis默认没有配置文件,
自己在宿主机建立后挂载映射)
创建并修改/usr/local/redis/redis.conf
bind 0.0.0.0 开启远程权限
appendonly yes 开启aof持久化

4 启动redis服务运行容器
docker run --name redis  -v /usr/local/redis/data:/data  -v /usr/local/redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 -d redis:6.0.10  redis-server /usr/local/etc/redis/redis.conf 

解释: -v /usr/local/redis/data:/data  # 将数据目录挂在到本地保证数据安全
 -v /root/redis/redis.conf:/usr/local/etc/redis/redis.conf   # 将配置文件挂在到本地修改方便
 
5  直接进去redis客户端。
docker exec -it redis redis-cli

其他

我们运行docker容器的时候,使用了-d参数,把容器在后台运行后。

1.启动docker容器

docker run -d -i -t <imageID> /bin/bash 

上述命令执行某些命令回报错Failed to get D-Bus connection: Operation not permitted

可使用如下命令启动

docker run -d -i -t <imageID> /usr/sbin/init

docker自启命令

systemctl enable docker   设置docker开机自启

systemctl disable docker  关闭docker开机自启

设置容器自动重启

创建容器时设置

docker run -d --restart=always --name 设置容器名 使用的镜像
(上面命令  --name后面两个参数根据实际情况自行修改)
 --restart具体参数值详细信息:
       no        容器退出时,不重启容器;
       on-failure    只有在非0状态退出时才重新启动容器;
       always      无论退出状态是如何,都重启容器;

修改已有容器,使用update

docker update --restart=always 容器ID(或者容器名)

运行容器报错权限不足
在docker run 命令中加上–privileged=true 即可

这个时候,我们使用docker ps命令,我们就可以知道哪些程序在后台运行。

systemctl start docker 启动docker服务
systemctl stop docker  停止docker
docker -v
systemctl enable docker
systemctl stop docker
//dockers 查询
docker search xxxx
//拉取
docker pull xxx
//查看镜像
docker images
//删除镜像
docker rmi 镜像id
//运行镜像
docker run --name mysql -d  镜像名:标签
//查看运作中的容器
docker ps
//启动、停止、删除容器
docker start 
docker stop 容器id
docker rm 容器id
//启动一个做了端口映射的tomcat
docker run -d -p 8888:8080 tomcat
-p: 将主机的端口映射到容器的端口
//启动MySQL
docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql


查看所有镜像 docker images

删除镜像(会提示先停止使用中的容器) docker rmi  镜像name/镜像id

查看所有容器 docker ps -a

查看容器运行日志 docker logs 容器名称/容器id

停止容器运行 docker stop 容器name/容器id

终止容器后运行 docker start 容器name/容器id

容器重启 docker restart 容器name/容器id

删除容器 docker rm 容器name/容器id

镜像搜索

##搜索仓库MySQL镜像
docker search mysql
 --filter=stars=600:只显示 starts>=600 的镜像
docker search --filter=stars=600 mysql
--no-trunc 显示镜像完整 DESCRIPTION 描述
docker search --no-trunc mysql
 --automated :只列出 AUTOMATED=OK 的镜像
docker search  --automated mysql

镜像下载

下载Redis官方最新镜像,相当于:docker pull redis:latest
docker pull redis
下载仓库所有Redis镜像
docker pull -a redis
下载私人仓库镜像
docker pull bitnami/redis

镜像删除

单个镜像删除,相当于:docker rmi redis:latest
docker rmi redis
强制删除(针对基于镜像有运行的容器进程)
docker rmi -f redis
多个镜像删除,不同镜像间以空格间隔
docker rmi -f redis tomcat nginx
删除本地全部镜像
docker rmi -f $(docker images -q)

Docker安装RabbitMQ

1、下载RabbitMQ镜像

    docker pull rabbitmq:management

2、开启容器

docker run -d -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management 

docker run -d   -p 15672:15672 -p 5672:5672 rabbitmq:management

自定义JDK镜像

切换到cd /usr/local

创建文件mkdir docker
进入cd docker

添加准备好的jdk压缩包jdk-8u281-linux-x64.tar.gz
vim Dockerfile
添加如下:

FROM centos:latest
MAINTAINER awei
ADD jdk-8u281-linux-x64.tar.gz /usr/local
ENV JAVA_HOME /usr/local/jdk1.8.0_281
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH$PATH:$JAVA_HOME/bin
CMD java -version

构建镜像docker build -t awei_jdk1.8.0_281 .
运行镜像:docker run -d awei_jdk1.8.0_281

部署war项目

vim  Dockerfile

awei_tomcat-9.0.44
MAINTAINER awei
ADD springboot-web-1.0.0.war /usr/local/apache-tomcat-9.0.44/webapps
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.44/bin/catalina.sh run

构建镜像:docker build -t springboot-web-war .
运行镜像:docker run -d -p 8080:8080 springboot-web-war

部署jar项目

vim  Dockerfile

FROM  awei_jdk1.8.0_281
MAINTAINER  awei
ADD springboot-web-1.0.0.jar /opt
RUN chmod +x /opt/springboot-web-1.0.0.jar
CMD java -jar /opt/springboot-web-1.0.0.jar

构建镜像:docker build -t springboot-web-jar .
运行镜像:docker run -d -p 8080:8080 springboot-web-jar

安装elastic search

dokcer中安装elastic search
下载ealastic search(存储和检索)和kibana(可视化检索)

docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2

注意版本要统一

配置

mkdir -p /usr/local/elasticsearch/plugins
mkdir -p /usr/local/elasticsearch/config
mkdir -p /usr/local/elasticsearch/data

es可以被远程任何机器访问

echo "http.host: 0.0.0.0" >/usr/local/elasticsearch/config/elasticsearch.yml

递归更改权限,es需要访问

chmod -R 777 /usr/local/elasticsearch

启动Elastic search

 9200是用户交互端口 9300是集群心跳端口
 -e指定是单阶段运行
 -e指定占用的内存大小,生产时可以设置32G
sudo docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \
-v  /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2 

安装kibana

docker pull kibana:7.4.2
启动kibana:
sudo docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.11.129:9200  -p 5601:5601 -d kibana:7.4.2

安装ik分词器

IK提供了两个分词算法:ik_smart和ik_max_word,其中ik_smart为最少切分,ik_max_word为最细力度。分别都有什么区别会在下期文章中给大家提出来。

这里需要注意安装的版本需要跟ElasticSearch版本一致。

进入到ElasticSearch容器中docker exec -it 容器ID /bin/bash

使用wget来进行安装,执行wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip即可。

当你使用wget安装出现Unable to establish SSL connection时执行以下俩个命令即可。

yum install opensslls

yum install openssl-devel

执行cd /usr/share/elasticsearch/plugins来到插件目录创建一个IK目录。

将压缩包移动到IK目录中,执行解压指令elasticsearch-analysis-ik-7.7.0.zip

接着删除压缩包即可,此时你可以看到一个config包和几个jar包

安装Nginx

安装Nginx
随便启动一个nginx实例,只是为了复制出配置
docker run -p 80:80 --name nginx -d nginx:1.10   
将容器内的配置文件拷贝到/usr/local/nginx/conf/ 下
mkdir -p/usr/local/nginx/html
mkdir -p /usr/local/nginx/logs
mkdir -p /usr/local/nginx/conf
docker container cp nginx:/etc/nginx/*  /usr/local/nginx/conf/ 
#由于拷贝完成后会在config中存在一个nginx文件夹,所以需要将它的内容移动到conf中
mv /usr/local/nginx/conf/nginx/* /usr/local/nginx/conf/
rm -rf /usr/local/nginx/conf/nginx

终止原容器:
docker stop nginx

执行命令删除原容器:
docker rm nginx

创建新的Nginx,执行以下命令
docker run -p 80:80 --name nginx \
 -v /usr/local/nginx/html:/usr/share/nginx/html \
 -v /usr/local/nginx/logs:/var/log/nginx \
 -v /usr/local/nginx/conf/:/etc/nginx \
 -d nginx:1.10
 
创建“/mydata/nginx/html/index.html”文件,测试是否能够正常访问
访问:http://ngix所在主机的IP:80/index.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种开源的容器化平台,它允许开发者将应用程序和其依赖项打包成一个可移植的容器。用户可以使用Docker来创建和管理容器,其中包括部署各种应用程序和服务。 在引用中,提供了一些关于部署特定应用程序的示例。例如,通过运行命令"docker run mysql"可以部署MySQL数据库。类似地,"docker run nginx"可以部署Nginx服务器,"docker run redis"可以部署Redis缓存服务器,"docker run mongo"可以部署MongoDB数据库。 此外,引用提供了一个示例,展示了如何启动一个CentOS容器,并将Docker上的CentOS的22端口映射到本机的50001端口。 在Docker中,用户可以根据自己的需求创建自定义镜像。引用中提到了一种使用Dockerfile创建镜像的方法。 总之,Docker提供了一个简单而灵活的方式来部署和管理应用程序和服务,使其更易于移植和扩展。123 #### 引用[.reference_title] - *1* *3* [CentOSDocker操作](https://blog.csdn.net/weixin_44163871/article/details/124630196)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] - *2* [Docker中安装Centos](https://blog.csdn.net/qq_34550459/article/details/123618150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值