目录
- 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