Docker基础命令
查看镜像:docker images
搜索镜像:docker search redis ,根据STARS进行排序, OFFICIAL代表官方镜像 ,AUTOMATED表示自动构建,该镜像由Docker Hub自动构建流程创建。
拉取镜像:docker pull redis
删除镜像:docker rmi redis ,删除时可加上镜像ID:IMAGE ID
注意!删除容器使用:docker rm myredis
查看容器:docker ps ,展示正在运行的容器;docker ps -a 展示所有的容器;docker ps -l 展示最后启动的容器
查看已经停止的容器:docker ps -f status=exited
列出最近创建的2个容器: docker ps -n 2
拉取nginx镜像,通过docker run创建启动容器,将宿主机的8080端口映射到创建容器内部的80端口上,容器的名称为myng
使用镜像centos:7 来创建运行容器,并命名为mytest7 :docker run -it --name mytest7 centos:7 /bin/bash ;-i 保持交互 ,即使没有连接也保持STDIN打开 ; -t 告知容器启动后分配一个伪tty终端;/bin/bash 指定在容器中运行shell命令进行交互
守护方式创建容器: docker run -di --name myubuntu ubuntu ; -d, --detach=false
, 指定容器运行于前台还是后台,默认为false
创建非交互式非后台式容器:docker run --rm playnexxt/pnmy_nginx:1.0.0 /bin/echo hello ,运行完成输出后容器立即被删除
通过 docker exec -it myubuntu /bin/bash 进入守护模式创建的容器,未命名则使用容器ID进入
容器的启动和停止 ,docker start myubuntu ,docker stop myubuntu
批量启动和批量停止容器:
#docker start $(docker ps -a |awk 'NR>1{print $1}') #docker stop $(docker ps -a |awk 'NR>1{print $1}')
宿主拷贝文件到容器:docker cp ./test.txt centos111:/home ,将宿主中的test.txt文件拷贝到容器centos111中的home目录下
从容器拷贝文件到宿主
指定目录挂载,创建容器添加 -v 参数,格式: 宿主目录:容器目录 ,如 /mydata 是本地宿主目录,/dcdata是容器目录
多目录挂载:
docker run -d --name zblogdb -p 33006:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=21386171 mysql:5.7
docker run -it --name centos_mount_test -v /mydata/:/dcdata -v /mydata2/:/dcdata2 centos
***重点:参数:--privileged=true 解决挂载时无权限的问题,使用该参数,container内的root拥有真正的root权限,否则,容器内部的root只是外部的一个普通用户权限
匿名挂载 ,
命令中的 /dcdata/ 是容器中的目录 ,挂载在宿主中的 /var/lib/docker/volumes/ 可找到具体的卷(volume)
当容器匿名挂载产生卷数量过多时可使用 docker inspect mycentos(容器名) 查看对应的挂载信息
具名挂载
docker run -di --name mynode01 -v docker_mynode01_data:/usr/local/data centos
卷名称为:docker_mynode01_data ,同时对应宿主机卷路径:
数据卷读写权限:
ro 只读 ,rw 读写,对容器目录/usr/mynode02_data下的文件进行读写限制
目录卷继承:
容器mynode03 继承 mynode02的挂载目录,且依旧可以对卷目录进行权限限制
查看容器IP地址:
查看容器日志:
版权声明:本文由老瓦罐儿煨汤发布,如需转载请注明出处。