寫篇部落格總結一下 docker基本指令和容器安裝,做一個備忘和總結。
Docker安裝及使用
1.安裝docker
安裝文檔:https://docs.docker.com/install/linux/docker-ce/centos/
1.解除安裝系統之前的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.安裝依賴
sudo yum install -y yum-utils
3.docker倉庫位址
sudo yum-config-manager \
--add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
4.安裝docker
sudo yum install docker-ce docker-ce-cli containerd.io
5.啟動docker
sudo systemctl start docker
6.檢視docker(需root權限)
docker ps // 啟動的容器
docker ps -all // 所有容器
7.設定docker開機自啟
sudo systemctl enable docker
2.docker安裝mysql
1.下載下傳鏡像檔案
docker pull mysql:5.7
2.建立執行個體并啟動
docker run -p 3306:3306 --name mysql --restart=always \
-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端口
–restart 啟動docker時候啟動該容器
-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 初始化密碼
3.修改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
4.重新開機mysql
docker restart mysql
3.docker安裝redis
1.下載下傳鏡像(無版本号即下載下傳最新版本)
docker pull redis
2.建立redis配置檔案
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
3.安裝redis
docker run -p 6379:6379 --name redis --restart=always \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
-d 啟動redis設定容器在背景執行,根據redis.conf來讀取配置檔案啟動
–restart 啟動docker時候啟動該容器
4.redis持久化配置
vi /mydata/redis/conf/redis.conf
輸入appendonly yes
5.重新開機redis
docker restart redis
4.docker安裝nginx
1.下載下傳鏡像
docker pull nginx
2.建立nginx配置檔案
mkdir -p /mydata/nginx/conf
touch /mydata/nginx/conf/nginx.conf
3.增加配置
events {
worker_connections 1024; ## Default: 1024
}
-
如果不增加此配置nginx會報錯,不清楚原因
nginx: [emerg] no “events” section in configuration
4.安裝nginx
docker run -p 8080:80 --name nginx \
--restart=always
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-d nginx
5.如果不設定配置檔案挂載啟動,則可以直接啟動
docker run --name nginx-test -p 8080:80 -d nginx
5.docker安裝centos
1.下載下傳鏡像
docker pull centos
2.建立centos容器
docker run -it -d -p 8888:8888 --name centos --restart=always --privileged=true \
-v /mydata/centos/www:/www centos \
可以增加其他的端口映射,比如将80端口通路容器的80端口,可自由選擇配置。
3.進入centos
docker exec -it centos /bin/bash
4.系統初始化:由于docker中是一個純淨版本,我們首先需要給他更新并且安裝必要的軟體。
yum check-update -y && yum update -y && yum install initscripts screen wget -y
6.docker常用指令
sudo docker images // 檢視所有鏡像
docker exec -it mysql /bin/bash // 進入容器
docker rm
container-name
// 删除容器
docker top
container-name
//容器占用率高
docker logs -f
container-name
// 容器執行日志
docker pull mysql|redis:xxx // 拉取docker源 xxx是版本,不加預設最新latest