镜像
容器
容器创建
文件映射
容器IP地址
常用镜像部署
容器备份与恢复
镜像命令
docker images
docker images -q
docker search 镜像名字
docker pull 镜像名字
docker rmi $镜像id
docker rmi docker images -q
容器命令
docker ps
docker ps -a
docker ps -l
docker ps -f status=exited
docker run xx
docker start xx
docker rm $can_id/can_name
:未运行的容器docker rmi image_id
:如果镜像被容器引用,镜像不能删除docker rm docker ps -a -q
:删除所有
容器创建
docker run -id --name= can_name image_name
: 创建容器(基础,没啥用)docker exec -it can_name /bin/bash
:登入容器shell,管理容器docker start/stop can_name
:开启\关闭容器
文件映射
创建容器的时候指定目录的映射,方便数据交换。-v /xx:/can_xx
,宿主机路径在前容器路径在后,一定要使用绝对路径。
端口映射:容器端口映射给了linux,linux和windows之间需要通过VMware配置端口映射。windows下可以:使用 linuxIP:端口(linux配置静态IP)
-
docker run -id --name=容器名字 -v 宿主机目录:容器目录 镜像名字
-
拷贝文件到容器:
docker cp 文件名 容器名字:/容器路径
-
拷贝文件到宿主机:
docker cp 容器名字:/路径/文件 宿主机目录
容器IP地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' can_name
常用镜像部署
mysql数据库
这些指令运行的时候要拼一块。-v和-p 都是宿主机在前
docker run -id --name=mysql_test
-v /mnt/hgfs/xxx:/xx --privileged=true # 文件夹映射
-p 33306:3306 # 端口映射
-e MYSQL_ROOT_PASSWORD=121388 # 密码
mysql
nginx
端口80
- /etc/nginx/nginx.conf
redis
端口6379
- redis-cli -h 192.168.3.3 -p 6379
- redis-cli -h 宿主机ip -p 6379
mongodb
端口27017
rabbitMQ
两个端口 一个5672
与client通信,一个15672
用于web管理(guest:guest)
docker run -id --name=rabbit_test
-p 宿主机:5672
-p 宿主机:15672
-v 宿主机绝对:容器绝对 --privileged=true
rabbitmq:3-management # 此镜像附带管理插件,用于web管理
容器备份与恢复
备份:
- 先保存为镜像:
docker commit can_xx image_my_xx
- 查看是否存在:
docker images
- 打包镜像:
docker save -o image_xx.tar.gz image_my_xx
恢复:
docker load -i image_xx.tar.gz