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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Ubuntu arm 1804 是 Ubuntu 系统在 ARM 架构上的一个版本,而 Docker 基础镜像则是一个轻量级的容器镜像,用于创建和运行 Docker 容器基础。这里我们将讨论一下 Ubuntu arm 1804 Docker 基础镜像的相关特性。 首先,作为一个基础镜像,Ubuntu arm 1804 Docker 基础镜像提供了最基本并且必要的组件和工具。这包括文件系统、软件包管理器和各种常见的命令行工具。而 ARM 架构对于 Docker 容器的性能和效率提升更加明显,基于 Ubuntu arm 1804 的 Docker 基础镜像可以更好地利用 ARM 架构的优势,从而实现更快速和高效的运行环境。 其次,Ubuntu arm 1804 Docker 基础镜像还支持跨平台的应用程序构建和部署。由于 ARM 架构在物联网等领域的应用越来越广泛,使用基于 Ubuntu arm 1804 的 Docker 基础镜像可以让开发人员更轻松地构建和部署适用于 ARM 架构的应用程序,同时这些应用程序还可以直接在各种其他平台上运行,例如x86 和AMD64。 最后,Ubuntu arm 1804 Docker 基础镜像还可以通过 Docker Hub 方便地获取和管理。Docker Hub 是一个官方的容器注册中心,提供了大量的镜像供用户下载使用, Ubuntu arm 1804 Docker 基础镜像也可以在其中找到。这让使用者可以更加方便地获取所需的镜像,并且可以更好地管理和使用这些镜像。 综上所述,Ubuntu arm 1804 Docker 基础镜像具有跨平台性、高效性和易用性等优点,这些优点使得它成为一个非常有用的工具,如物联网和云计算等领域都可以很好地使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初夏0811

你的鼓励将是我创作最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值