Docker安裝基礎(chǔ)鏡像服務(wù)的步驟
一、前言
本文章講述從0到1安裝docker 及相關(guān)依賴服務(wù)鏡像如何安裝,安裝之前,確保開放所需要的端口或者關(guān)閉防火墻。
外部機器不能直接訪問容器,網(wǎng)是不通的,但可以訪問宿主機,只要將容器的端口與宿主機進行映射后,訪問宿主機的端口就相當于訪問了容器的端口。
二、 環(huán)境安裝
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、建立遠程倉庫,不要使用官網(wǎng)的,太慢
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 # 設(shè)置docker開機自啟動 systemctl enable docker
7、安裝 Docker-compose(微服務(wù)項目或多個需要安裝的一般用此方式安裝)
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 賦予權(quán)限 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、創(chuàng)建及啟動容器,設(shè)置端口映射,文件掛載等。
MYSQL_ALLOW_EMPTY_PASSWORD:先將密碼設(shè)置為空,為了方便后續(xù)操作,8.0版本較于5.7版本有點復(fù)雜。這里如果設(shè)置密碼,有可能登錄不上去
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、設(shè)置 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,由于啟動時沒設(shè)置密碼,直接回車登錄。 mysql -u root -p # 修改遠程連接權(quán)限 use mysql; update user set host = '%' where user = 'root'; select host, user from user; flush privileges; #完成上面操作之后重啟MySQL服務(wù)即可。
6、遠程登錄報錯:plugin caching_sha2_password could not be loaded
# 修改遠程登陸 # 修改密碼過期規(guī)則----》永不過期 ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; # 更新用戶的密碼修改加密規(guī)則 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; # 刷新權(quán)限 FLUSH PRIVILEGES; # 重置密碼 ALTER USER 'root'@'%' IDENTIFIED BY '123456';
3.redis安裝
1、搜索鏡像
docker search redis
2、拉取鏡像
docker pull redis
3、創(chuàng)建及啟動容器
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
如果需要掛在配置文件需要在宿主機的相應(yīng)目錄準備好配置文件:
創(chuàng)建 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 復(fù)制出里面的配置文件,用于掛載
docker run -p 80:80 --name nginx -d nginx:1.10
4.創(chuàng)建 /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、創(chuàng)建及啟動容器
docker run --name nacos-quick -e MODE=standalone -p 8848:8848 -d nacos/nacos-server:1.3.0
4、瀏覽器訪問:IP地址+8848/nacos ,默認沒有賬號密碼或者nacoss/nacos
到此這篇關(guān)于Docker如何安裝基礎(chǔ)鏡像服務(wù)的文章就介紹到這了,更多相關(guān)Docker安裝鏡像服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker容器內(nèi)部無法訪問外網(wǎng)原因以及解決辦法
最近在工作時遇到一個問題,這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于Docker容器內(nèi)部無法訪問外網(wǎng)原因以及解決辦法,文中給大家介紹的非常詳細,需要的朋友可以參考下2023-06-06基于Docker搭建Graylog分布式日志采集系統(tǒng)的詳細過程
Graylog是一個開源的日志管理工具,支持日志收集、解析、存儲、搜索和可視化,它可以從各種數(shù)據(jù)源收集日志,并通過內(nèi)置的解析器將日志格式化,本文介紹基于Docker搭建Graylog分布式日志采集系統(tǒng),感興趣的朋友一起看看吧2025-02-02docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作
這篇文章主要介紹了docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11docker-compose部署zk+kafka+storm集群的實現(xiàn)
這篇文章主要介紹了docker-compose部署zk+kafka+storm集群,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10