ubuntu的docker相关操作指令
daemon启动docker服务以及停止
systemctl start docker systemctl stop docker systemctl status docker
docker的镜像相关操作
#查看本地镜像 docker images #搜索镜像 docker search redis #下载镜像,不写版本号,默认是latest docker pull redis:3.2 #删除镜像 docker rmi <dockerid> #删除所有镜像 docker rmi 'docker images -q'
docker创建容器
#docker创建容器,创建名称为c1的centos7的容器,并打开一个bash窗口 docker run -it --name=c1 centos:7 /bin/bash #退出容器 exit #查看正在运行的容器 docker ps #查看所有容器 docker ps -a #创建后台docker docker run -id --name=c2 centos:7 #进入名称为c2的容器 docker exec -it c2 /bin/bash #停止容器 docker stop c2 #启动容器 docker start c2 #删除容器 docker rm <容器id,容器名称> #删除所有容器 docker rm 'docker ps -aq' #查看容器信息 docker inspect 容器名称
配置数据卷,通过数据卷使得容器与宿主机通信、容器与容器之间的通信
#创建启动容器时,使用-v参数设置数据卷, #目录必须是绝对路径,容器中不可以用~
docker run -it -v /宿主机绝对目录:/容器内目录 镜像名
#docker使用GPU,并挂载数据卷示例 docker run --gpus all -it -v /host/data/path:/container/data/path -v /host/data/path:/container/data/path containerid:containerversion #多容器挂载同一个数据卷,容器之间的通信
数据卷容器
container3挂载数据卷,container c1、container c2挂载到 container c3,等同于container c1,c2,c3同时挂载到数据卷上。

#创建c4数据卷容器,-v 会在宿主机上自动分配数据卷 docker run -it --name=c4 -v /volume redis /bin/bash #创建启动c1 c2容器,使用--volumes-from参数 设置数据卷 docker run -it --name=c1 --volumes-from c3 redis /bin/bash docker run -it --name=c2 --volumes-from c3 redis /bin/bash
3. 创建容器,设置端口映射、目录映射
#部署mysql #-p 3307:3306将容器的3306端口映射到宿主机的3307 #-v $PWD/conf:/etc/mysql/conf.d 将宿主机当前目录下的conf映射到容器的/etc/mysql/conf.d目录 #-v $PWD/logs:/logs # docker run -id \ -p 3307:3306 \ --name=c_mysql \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/logs:/logs \ -v $PWD/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=111111 \ redis:latest
4. 容器转为镜像
docker commit 容器id 镜像名称:版本号
5. 镜像转为压缩文件
# 容器转镜像 docker commit 容器id 镜像名称:版本号 # 镜像转压缩文件 docker save -o 压缩文件名称 镜像名称:版本号 # 加载压缩文件为镜像 docker load -i 压缩文件名称
浙公网安备 33010602011771号