写篇博客总结一下 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