ubuntu的docker相关操作指令

FigureOut / 2023-08-04 / 原文

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 -v 宿主机目录(文件):容器内目录(文件) -v ....

#多容器挂载同一个数据卷,容器之间的通信

数据卷容器

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