Docker安装基础镜像服务的步骤
作者:初夏0811
一、前言
本文章讲述从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安装镜像服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!