1. 程式人生 > 其它 >docker 安裝與簡單使用

docker 安裝與簡單使用

docker 安裝文件

https://docs.docker.com/engine/install/centos/

解除安裝系統之前的 docker

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

安裝 Docker-CE

  • 安裝必須的依賴
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
  • 設定 docker repo 的 yum 位置
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  • 安裝 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io

啟動 docker

sudo systemctl start docker

設定 docker 開機自啟

sudo systemctl start docker

配置映象加速

阿里雲,容器映象服務
針對 Docker 客戶端版本大於 1.10.1 的使用者
您可以通過修改 daemon 配置檔案 /etc/docker/daemon.json來使用加速器

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://wzksabm0.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

docker 安裝 mysql

下載映象檔案

docker pull mysql: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 \
  -e MYSQL_ROOT_PASSWORD=root \
  -d mysql:5.7

引數說明
-p 3306:3306:將容器的 3306 埠對映到主機的 3306 埠
-v /mydata/mysql/conf:/etc/mysql:將配置資料夾掛載到主機
-v /mydata/mysql/log:/var/log/mysql:將日誌資料夾掛載到主機
-v /mydata/mysql/data:/var/lib/mysql:將資料資料夾掛載到本機
-e MYSQL_ROOT_PASSWORD=root:初始化 root 使用者的密碼
-d 後臺啟動

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

新增配置之後需要重啟容器

docker restart mysql

注意:解決 MYSQL 連線慢的問題
在配置檔案中加入如下,並重啟 mysql

[mysqld]
skip-name-resolve

解釋:
skip-name-resolve:跳過域名解析

通過容器的 mysql 命令列工具連線

docker exec -it mysql mysql -uroot -proot

設定 root 遠端訪問

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;

進入容器檔案系統

docker exec -it mysql /bin/bash

docker 安裝redis

下載映象

docker pull redis

不帶版本號下載的是最新版本

建立redis 需要的目錄

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

配置持久化

vi /mydata/redis/conf/redis.conf

#配置持久化
appendonly yes

#設定密碼
requirepass 123456

啟動Redis容器

啟動Redis容器,redis-server /etc/redis/redis.conf是指定使用配置檔案啟動,預設不使用配置檔案

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 映象執行 redis-cli 命令連線

docker exec -it redis redis-cli

參考文件

尚矽谷穀粒商城