一.基本命令
1..查看是否安装成功
docker --version
2.查看容器镜像
docker images
3.删除容器镜像
docker rmi image_id
4.搜索镜像
docker search mysql
5.下载镜像
docker pull mysql:5.7
6.查看运行的容器
docker ps
// 查看所有运行容器
docker ps -a
7.启动容器
# 简单启动
# 没有映射文件,所以只能一次性使用,重启后数据都没了
#映射端口 取个名称 设置密码 msyql版本
docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
#加载指定本地的配置文件和数据目录
docker run -d -p 3306:3306 -v /root/docker/mysql/conf:/etc/mysql/conf.d -v /root/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
docker run -d -p 3307:3306 --name test-mysql --privileged=true -v /root/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
# redis
docker run -p 6379:6379 --name redis -v /root/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /root/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
#zk
docker run -p 2181:2181 --name zk -d zookeeper
参数说明
-p 6380:6380 端口映射:前表示主机部分,:后表示容器部分。
–name myredis 指定该容器名称,查看和进行操作都比较方便。
-v 挂载目录,规则与端口映射相同。
-d redis 表示后台启动redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
appendonly yes 开启redis 持久化
8.进入容器
docker exec -it mysql1(容器名称) bash
9.主机拷贝容器中的文件
docker cp 容器id:容器文件路径 主机路径
docker cp zk:/apache-zookeeper-3.7.0-bin/README.md /root
10.容器挂载
- 具名挂载
# 挂载名 容器路径
docker run -d -p 3306:3306 -v mysql-conf:/etc/mysql/conf.d -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
- 匿名挂载
# 容器路径
docker run -d -p 3306:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
- 路径挂载
docker run -d -p 3306:3306 -v /root/docker/mysql/conf:/etc/mysql/conf.d:ro -v /root/docker/mysql/data:/var/lib/mysql:rw -e MYSQL_ROOT_PASSWORD=123456 mysql
ro
表示readonly 只读
rw
表示readwrite 只写
多个容器之间的数据共享
docker run -d -p 3306:3306 --volumes-from 父容器 -e MYSQL_ROOT_PASSWORD=123456 mysql
11.导出镜像
docker save 镜像名 -o /root/fasfas
12.导入镜像
docker load -i /root/fasfas
13.查看docker的网络配置
docker network ls
14.查看具体网络配置
docker network inspect 容器id
二.DockerFile
构建步骤
1.编写一个DockerFile文件
2.执行命令docker build 构建一个镜像
3.docker push 发布镜像