1 帮助启动类命令
1、启动docker
systemctl start docker
2、停止docker
systemctl stop docker
3、重启docker
systemctl restart docker
4、查看docker状态
systemctl status docker
5、设置开机自启动
systemctl enable docker
6、查看docker概要信息
docker info
7、查看docker总体帮助文档
docker --help
2 镜像命令
1、查看本地仓库现有的所有镜像
docker images
2、从远程仓库搜索镜像
docker search 某个镜像名字
3、将指定的镜像从远程仓库拉入本地仓库
docker pull 某个镜像名字:TAG
如:docker pull redis 或 docker pull redis:6.0.0
最后不加TAG就是最新版,等价于: docker pull 镜像名字:latest
4、删除本地仓库的某个镜像
docker rmi 某个镜像名字或ID
3 容器命令
1、列出当前所有正在运行的容器
docker ps [options]
options说明:
都不加表示当前正在运行的容器
-a : 列出当前所有正在运行的容器+历史上运行过的
-l : 显示最近创建的容器
-n : 显示最近n个创建的容器
-q : 静默模式,只显示容器编号
3、退出容器
exit
run进去容器,exit退出,容器停止。
ctrl + p + q
run进去容器,ctrl+p+q退出,容器不停止
4、启动已停止运行的容器
docker start 容器ID或者容器名
5、重启容器
docker restart 容器ID或者容器名
6、停止容器
docker stop 容器ID或者容器名
7、强制停止容器
docker kill 容器ID或者容器名
8、删除已停止的容器
docker rm 容器ID
9、运行一个容器
# -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行) --name 给要运行的容器 起的名字 /bin/bash 交互路径
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash
4 docker常规安装
4.1 mysql安装
# 1.拉取镜像
sudo docker pull mysql:5.7.36# 2.创建容器,密码设置为123456,启动mysql
sudo docker run --name mysql5736 \
-v /wave/mysql/log:/var/log/mysql \
-v /wave/mysql/data:/var/lib/mysql \
-v /wave/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-d mysql:5.7.36# 3.查看容器状态,可以看到一个容器名称为mysql5736的容器在运行
sudo docker ps# 4./wave/mysql/conf 目录(数据卷目录)中新建 my.cnf 文件,并在其中写入如下内容
sudo vim /wave/mysql/conf/my.cnf
# 表示客户端的默认字符集为utf8。
[client]
default_character_set=utf8# 表示MySQL命令行客户端的默认字符集为utf8。
[mysql]
default_character_set=utf8# 表示MySQL服务器的默认字符集为utf8,并且 character_set_server 设置MySQL服务器默认使用utf8字符集。
[mysqld]
character_set_server=utf8[mysqld]
#binlog setting
# 开启logbin
log-bin=mysql-bin
# binlog日志格式
binlog-format=ROW
# mysql主从备份serverId,canal中不能与此相同
server-id=1
# 5.重启容器
sudo docker restart mysql5736# 6.进入容器终端
sudo docker exec -it mysql5736 /bin/bash# 7.登录mysql
mysql -uroot -p123456
# 8.查看字符编码是否为utf8
show variables like 'character%';# 显示信息如下说明配置ok
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
# 9.展示binlog日志文件
show master status;
# 10.重启日志
reset master;# 11.查看binlog文件格式
show variables like 'binlog_format';
如果显示信息和上面一致,说明MySQL安装与配置成功,退出容器终端。
# 12.退出mysql
exit# 13.退出容器终端
exit
4.2 elasticsearch安装
# 1.拉取镜像
sudo docker pull elasticsearch:7.16.2
# 2.创建容器并启动
sudo docker run --name='es7162' \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-d elasticsearch:7.16.2# 3.在运行的es7162容器中打开一个新的终端会话
sudo docker exec -ites es7162 /bin/bash# 4.删除原配置文件
rm -rf config/elasticsearch.yml# 5.新建配置文件
vi config/elasticsearch.yml
# 配置文件内容为如下
cluster.name: fox-es
network.host: 0.0.0.0node.name: node-1
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
# 6.退出容器会话
exit# 7.重启es
sudo docker restart es7162
浏览器测试:http://【服务器地址】:9200
注意防火墙需要开放端口