目录
一:常用命令
#重启docker:
sudo systemctl restart docker
#1.帮助命令:
docker --help
#2.查看当前镜像:
1.docker images
2.docker image ls
#3.搜索镜像:
docker search mysql
#4.从仓库上拉取镜像到本地:
#这个默认拉取latest 最新镜像
1.docker pull 镜像名称
#拉取指定标签的镜像
2.docker pull 【选项】 镜像名称:标签
#5.运行容器
1.docker run 镜像名称 运行后处于阻塞状态,关闭终端会停止容器运行
#2:运行mysql并进入容器里(本地如果没有mysql会自动拉取):
docker run 【-itd --name 容器名称(m8) -e MYSQL_ROOT_PASSWORD=123456】 镜像:标签 /bin/bash 背后运行,推荐使用
#i交互式 进入容器
#t打开新的终端
#d 背后运行
#name 容器的名称
#5.1安装并运行nginx容器:反向代理服务器,默认端口号80
docker run -d -p 8080:80 nginx
docker run -d -P nginx
#将Nginx容器的端口号映射到Ubuntu的端口号上,只能通过Ubuntu的ip地址访问Nginx
#p指定端口号 P随机端口号
#5.2重命名容器:
docker rename 容器名称/id 新名称
#6.查看容器:
docker ps [-a] 不加a默认查看运行的容器
#7.进入容器:
docker exec -it 容器名称(m8) /bin/bash
#连接数据库:
mysql -uroot -p
#7.移除:
#移除容器:
docker rm 容器名/容器id(删除前先停止容器)
#移除镜像:
docker rmi 镜像名:tag
#8.容器启动命令
docker start 容器 启动容器
docker stop 容器 停止容器
docker restart 容器 重启容器
#9.保存镜像:将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上加载这个镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
docker save tomcat -o /myimg.tar
#10.加载镜像:任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像
docker load -i 镜像保存文件位置
docker load -i /home/huang/nginx.tar
#通过tag打标签
docker tag 原容器id 新容器名:版本号
#11.查看镜像元信息:
docker inspect 镜像名称:标签
二:容器之间的通信:同一个网络 容器之间就可以通信
#查看网络:
docker network ls
#新建网络:
docker network create erp
#docker中装一个ubuntu镜像:
docker pull ubuntu
#创建容器并连接容器到指定网络:
docker --name u1 --network erp ubuntu:latest /bin/bash
#创建另一个容器u2并连接容器到同一个网络
#进入容器u1:
docker exec -it u1 /bin/bash
#通过 ping 来证明 u1 容器和 u2 容器建立了互联关系
#ping不了:
# 1.更新安装源
apt update
# 2.安装ping命令:
apt install iputils-ping
三:容器文件拷贝
将文件从 宿主机拷贝到容器中
docker cp 宿主机地址 容器名称:容器内的地址
docker cp e:/index.html nginx:/usr/share/nginx/html/index.html
将文件从容器拷贝到宿主机中
docker cp 容器名称:容器内的地址 宿主机地址
docker cp nginx:/usr/share/nginx/html/index.html d:/index. html
四:数据挂载
就是将容器内的数据与外部宿主机文件绑定起来,类似一个双持久化,当容器删除时,宿主机文件数据目录仍在,下次启动容器只要将数据目录指向宿主机数据所在位置即可恢复!
命令:-v 宿主机文件存储位置 :容器内文件位置
示例:
docker run -d --name ng -p 8080:80 -v e:/html:/usr/share/nginx/html nginx
如此操作,就将 容器内指定文件挂载到了宿主机对应位置,-v命令可以多次使用,即一个容器可以同时挂载多个文件
-v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置
五:容器自动重启
使用docker run命令时 添加参数--restart=always 便表示,该容器随docker服务启动而自动启动
六:自己提交一个镜像
我们运行的容器可能在镜像的基础上做了一些修改,有时候我们希望保存起来,封装成一个更新的镜像,这时候我们就需要使用 commit 命令来构建一个新的镜像
命令:docker commit -m="提交信息" -a="作者信息" 容器名/容器ID 提交后的镜像名:Tag
#1.提交
docker commit u1 ubuntu:huang
#2.查看镜像会发现多了一个ubuntu:huang镜像
#3.保存镜像到当前目录下:
docker save ubuntu:huang -o ./ubuntu.huang.zip
#4.重新运行一个新的容器,指定网络:
docker run -itd --name u3 --network erp ubuntu:huang /bin/bash