目录

  • docker安装
  • docker Compose安装
  • docker Compose使用
  • docker使用
  • 容器
  • mysql
  • redis
  • fastdfs


docker安装

yum update
yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io

配置文件

{
"insecure-registries": ["192.168.187.137:5000"],
"registry-mirrors": ["https://"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
}}
systemctl start docker
systemctl stop docker
systemctl restart docker
docker run hello-world

docker Compose安装

docker compose阿里云下载地址 选择Linux版本
docker-compose-Linux-x86_64

mv /docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod 777 /usr/local/bin/docker-compose

docker Compose使用

Usage:
  docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
  docker-compose -h|--help

Options:
  -f, --file FILE             Specify an alternate compose file

docker-compose

参数

Docker

Compose 常用命令

Build

构建或重新构建服务

kill

强制停止服务容器。

logs

查看服务的输出。

port

打印绑定的公共端口。

ps

列出所有容器。

pull

拉取服务所需镜像。

rm

删除停止的服务容器。

up

构建并启动容器。

docker-compose.yml

属性

Image

指定为镜像名称或镜像 ID,如果镜像在本地不存在,Compose 将会尝试拉取这个镜像。

Build

指定 Dockerfile 所在文件夹的路径。 Compose 将会利用它自动构建这个镜像,然后使用这个镜像。

Command

覆盖容器启动后默认执行的命令。

Links

链接到其它服务中的容器。

Ports

端口映射。

Expose

暴露端口信息

Volumes

卷挂载路径设置

docker使用

启动Docker

Systemctl start docker

关闭Docker

Systemctl stop docker

设置docker开机自启动

Systemctl enable docker

强制删除全部image的话

docker rmi -f $(docker images -q)

删除images(镜像),通过image的id来指定删除谁

docker rmi <image id>

查看本地镜像

docker images

docker运行镜像

docker run -di --name=registry -p 5000:5000 registry
-d, --detach=false, 指定容器运行于前台还是后台,默认为false
-i, --interactive=false, 打开STDIN,用于控制台交互
-t, --tty=false, 分配tty设备,该可以支持终端登录,默认为false
-u, --user="", 指定容器的用户
-a, --attach=[], 登录容器(必须是以docker run -d启动的容器)
-w, --workdir="", 指定容器的工作目录
-e, --env=[], 指定环境变量,容器中可以使用该环境变量
-m, --memory="", 指定容器的内存上限
-P, --publish-all=false, 指定容器暴露的端口
-p, --publish=[], 指定容器暴露的端口
-h, --hostname="", 指定容器的主机名
--dns=[], 指定容器的dns服务器
--dns-search=[], 指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件
--expose=[], 指定容器暴露的端口,即修改镜像的暴露端口
--name="", 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
bridge 使用docker daemon指定的网桥
host //容器使用主机的网络
--rm=false, 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
--sig-proxy=true, 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理

设置镜像随容器启动

docker update id --restart=always

查看全部安装镜像

docker ps -a

自启动

systemctl restart docker

容器

容器设置自启动

docker update --restart=always 容器id

查看停止的容器

docker ps -f status=exited

删除指定的容器,正在运行的容器无法删除

#删除容器 docker rm 容器名称(容器ID)

docker进入到容器

docker exec -it 容器名称 (或者容器ID) /bin/bash

查看全部容器

docker ps -a

查看容器日志 通过这个可以查看报错信息

docker logs <id>

mysql

拉取镜像 dockers hub

docker pull mysql:latest

运行mysql镜像

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql --max_connections=1000 
--wait_timeout=31536000

–name 容器的名字
-p mysql的端口号
-e mysql的密码
-d 加载的镜像名字
–max_connections mysql最大连接数量
–wait_timeout mysql连接的超时时间

mysql -uroot -p
 显示库:show databases;
 使用库:use database;
 建立库:create database if not exists name 
	default character set utf8
	default collate uft8_general_ci;
删除库: drop database if exists name;

redis

拉取镜像

docker pull redis:latest

运行镜像

docker run -itd --name redis -p 6379:6379 redis

进入镜像

docker exec -it redis /bin/bash
redis-cli

fastdfs

拉取镜像

docker pull delron/fastdfs

运行镜像
Tracker

docker run -d --network=host --name tracker -v /Users/zzs/develop/temp/tracker:/var/fdfs delron/fastdfs tracker

Storage

docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /Users/zzs/develop/temp/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage