参考文档
windows 详细安装
https://blog.csdn.net/qq_41723615/article/details/92799469
Docker 命令
Docker 服务相关命令
-
centos
- systemctl start doker
- systemctl status doker
- systemctl stop doker
- systemctl restart doker
-
ubuntu
- sudo service docker start
镜像相关命令
- docker imgages 查看 /n
- docker image ls
- docker search redis 搜索
- docker pull redis(:5.0) 不写版本号是最新的版本(lasted)
hub.docker.com 查看镜像(软件,比如redis)版本号
- docker rmi(i表示镜像) [imageId]
- docker rmi
docker imgages -q
容器相关命令
创建容器 根据centos镜像生成 c1的操作系统
- docker run -i(一直运行) -t(tty) --name=c1(容器名字) centos:7 /bin/bash
后台创建容器
- docker run -i(一直运行,交互模式) -d(后台运行,分离模式) --name=c1(容器名字) centos:7
- docker run --interactive --tty centos:7 bash
- docker exec -it c3 /bin/bash
查看容器列表
- docker ps -a
- docker container ls --all
关闭启动容器
- docker stop c3
- docker start c3
删除容器c3
- docker rm c3
删除所有容器
- docker rm
docker ps -aq
查看c3容器 信息
docker inspect c3
Docker 容器的数据卷
数据卷是宿主机中的一个目录(文件夹)或者文件(数据卷),和容器中的目录挂载(绑定),双方的修改会立即同步
一个数据卷可以被多个容器同时挂载
-
三大作用
- 1 容器数据持久化
- 2 外部机器和容器间接通信
- 3 容器之间数据交换
docker run … -v 宿主机目录(文件):容器内目录(文件)
docker run -it --name=c1 -v /root/data:/root/data/container centos:7 /bin/bash
- 注意事项
- 目录必须是绝对路径
- 目录不存在将会被创建
- 多个-v, 多个数据卷
Dockerfile
-
Dockerfile(圣旨) 配合 docker build 使用
-
Dockerfile filename 不带后缀, 首字母大写
-
docker build -t hello . 在Dockerfile 目录下执行
-
doker run --rm hello
container > image
docker commit 容器名 新的镜像名
导出和导入镜像
导出
- docker save -o ubuntu.tar ubuntu:14.04
- OR docker save ubuntu:14.04 > ubuntu.tar
导入
- docker load -i ubuntu.tar
- OR docker load < ubuntu.tar
docker 根据镜像生产容器
generate mysql container
docker run -id -p 3306:3306 --name=c_mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
windows -v 挂载 目录tip
比如你的目录是
C:\docker.image.data\redis\data
则需要写成
/c/docker.image.data/redis/data
docker 生成mysql 容器命令
docker run -id -p 3306:3306 --name=c_mysql -v /d/users/docker/mysql/conf:/etc/mysql/conf.d -v /d/users/docker/mysql/logs:/logs -v /d/users/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
docker mysql breaf summary
- generally speaking, mysql table data can’t be mommited to image ,只能以挂载在volume 在宿主机中实现持久化
generate redis container
docker version 和 wsl ubuntu version 不兼容
https://www.jianshu.com/p/20ebdbf68744
user docker with lower version
sudo apt-get install -y docker-ce=18.06.1ce3-0~ubuntu
彻底 卸载dockers
https://blog.csdn.net/lyc0424/article/details/103469204
sudo apt-get remove docker-ce
sudo apt-get remove docker-ce-cli