Docker安装基础镜像服务的步骤

 更新时间:2024年01月31日 09:40:01   作者:初夏0811  
外部机器不能直接访问容器,网是不通的,但可以访问宿主机,只要将容器的端口与宿主机进行映射后,访问宿主机的端口就相当于访问了容器的端口,本文介绍Docker如何安装基础镜像服务,感兴趣的朋友一起看看吧

一、前言

本文章讲述从0到1安装docker 及相关依赖服务镜像如何安装,安装之前,确保开放所需要的端口或者关闭防火墙。

外部机器不能直接访问容器,网是不通的,但可以访问宿主机,只要将容器的端口与宿主机进行映射后,访问宿主机的端口就相当于访问了容器的端口。

二、 环境安装

1.docker安装

1、卸载之前的 Docker,没有就忽略这步

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

注意,上文中的 \ 反斜杠是明令换行的作用。

2、安装一些依赖包

yum install -y yum-utils

3、建立远程仓库,不要使用官网的,太慢

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4、更新 yum 软件包索引【非必须】

yum makecache fast

5、安装 Docker 引擎

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

6、启动docker

# 查看docker的版本信息
docker version
# 启动docker
systemctl start docker
# 查看docker是否启动
ps -ef | grep docker
# 设置docker开机自启动
systemctl enable docker

7、安装 Docker-compose(微服务项目或多个需要安装的一般用此方式安装)

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予权限
chmod +x /usr/local/bin/docker-compose
# 查看版本
docker-compose --version

8、查询版本号,查询出来就说明安装成功了

docker -v
docker-compose -v

2.mysql安装

1、搜索镜像

docker search mysql

2、拉取镜像

docker pull mysql:8.0

3、创建及启动容器,设置端口映射,文件挂载等。

MYSQL_ALLOW_EMPTY_PASSWORD:先将密码设置为空,为了方便后续操作,8.0版本较于5.7版本有点复杂。这里如果设置密码,有可能登录不上去

docker run -p 3306:3306 --name mysql  \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql  \
-v /mydata/mysql/conf:/etc/mysql \
-v /mysql/data/mysqlslave/mysqlfiles:/var/lib/mysql-files  \
-e MYSQL_ALLOW_EMPTY_PASSWORD=yes  -d mysql:8.0

4、设置 mysql 编码

vi /mydata/mysql/conf/my.cnf
[client] 
default-character-set=utf8 
[mysql] 
default-character-set=utf8 
[mysqld] 
init_connect='SET collation_connection = utf8_unicode_ci' 
init_connect='SET NAMES utf8' 
character-set-server=utf8 
collation-server=utf8_unicode_ci 
skip-character-set-client-handshake 
skip-name-resolve

5、远程登录报错: Host is not allowed to connect to this MySQL server

# 进入mysql容器
docker exec -it mysql bash
# 进入 mysql,由于启动时没设置密码,直接回车登录。
mysql -u root -p
# 修改远程连接权限
use mysql;
update user set host = '%' where user = 'root';
select host, user from user;
flush privileges;
#完成上面操作之后重启MySQL服务即可。

6、远程登录报错:plugin caching_sha2_password could not be loaded

# 修改远程登陆
# 修改密码过期规则----》永不过期
ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; 
# 更新用户的密码修改加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新权限
FLUSH PRIVILEGES;
# 重置密码
ALTER USER 'root'@'%' IDENTIFIED BY '123456';

3.redis安装

1、搜索镜像

docker search redis

2、拉取镜像

docker pull redis

3、创建及启动容器

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data  \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

如果需要挂在配置文件需要在宿主机的相应目录准备好配置文件:
创建 redis 配置文件,用于容器卷挂载:

mkdir -p /mydata/redis/conf 
vi /mydata/redis/conf/redis.conf

配置文件如下,copy个过来就行

# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#bind 127.0.0.1
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

4.nginx安装

1、搜索镜像

docker  search nginx

2、拉取镜像

docker pull nginx

3、先随便启动一个 Nginx 复制出里面的配置文件,用于挂载

docker run -p 80:80 --name nginx -d nginx:1.10

4.创建 /mydata/nginx/ 目录, 并切换到此目录下,将 Nginx 配置文件都拷贝文件夹里,并修改名称为 conf

mkdir /mydata/nginx/
cd /mydata/nginx
docker container cp nginx:/etc/nginx .
mv nginx/ conf

5、删除容器,并重新启动 Nginx 容器

docker run -p 80:80 --name nginx --restart=always \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10

6、访问 IP 地址测试是否启动成功

5.nacos安装

1、搜索镜像

docker search nacos

2、拉取镜像

docker pull nacos/nacos-server:2.2.0

3、创建及启动容器

docker run  --name nacos-quick -e  MODE=standalone -p 8848:8848 -d nacos/nacos-server:1.3.0

4、浏览器访问:IP地址+8848/nacos ,默认没有账号密码或者nacoss/nacos

到此这篇关于Docker如何安装基础镜像服务的文章就介绍到这了,更多相关Docker安装镜像服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker修改容器内部文件的三种方法

    Docker修改容器内部文件的三种方法

    今天在修改Docker内部文件的时候,安装vim居然失败了,在执行apt-get update时一直有几个404,解决无果,最后放弃安装vim,将文件拷贝出来修改,所以本文给大家分享一下如何修改Docker内部文件的方法,需要的朋友可以参考下
    2024-01-01
  • Docker容器内部无法访问外网原因以及解决办法

    Docker容器内部无法访问外网原因以及解决办法

    最近在工作时遇到一个问题,这里给大家总结下,这篇文章主要给大家介绍了关于Docker容器内部无法访问外网原因以及解决办法,文中给大家介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Docker volume 挂载卷的实现方法

    Docker volume 挂载卷的实现方法

    这篇文章主要介绍了Docker volume 挂载卷的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 基于Docker搭建Graylog分布式日志采集系统的详细过程

    基于Docker搭建Graylog分布式日志采集系统的详细过程

    Graylog是一个开源的日志管理工具,支持日志收集、解析、存储、搜索和可视化,它可以从各种数据源收集日志,并通过内置的解析器将日志格式化,本文介绍基于Docker搭建Graylog分布式日志采集系统,感兴趣的朋友一起看看吧
    2025-02-02
  • IDEA中进行Docker项目部署的实现步骤

    IDEA中进行Docker项目部署的实现步骤

    这篇文章主要介绍了IDEA中进行Docker项目部署的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • docker内网搭建dns使用域名访问替代ip:port的操作

    docker内网搭建dns使用域名访问替代ip:port的操作

    这篇文章主要介绍了docker内网搭建dns使用域名访问替代ip:port的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker 容器操作退出后进入解决办法

    Docker 容器操作退出后进入解决办法

    这篇文章主要介绍了Docker 容器操作退出后进入解决办法的相关资料,需要的朋友可以参考下
    2016-10-10
  • docker-compose部署zk+kafka+storm集群的实现

    docker-compose部署zk+kafka+storm集群的实现

    这篇文章主要介绍了docker-compose部署zk+kafka+storm集群,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 搭建Docker私有镜像仓库的实现步骤

    搭建Docker私有镜像仓库的实现步骤

    私有镜像仓库可以更好地管理和控制镜像的访问和使用,提高开发和部署效率,减少网络延迟和不稳定因素的影响,本文主要介绍了搭建私有镜像仓库,感兴趣的可以了解一下
    2024-12-12
  • docker的三种安装方式汇总

    docker的三种安装方式汇总

    这篇文章主要介绍了docker的三种安装方式汇总,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论