Docker服务相关命令
容器
docker ps // 查看所有正在运行容器 docker stop containerId // containerId 是容器的ID docker ps -a // 查看所有容器 docker ps -a -q // 查看所有容器ID docker start $(docker ps -a -q) // start启动所有停止的容器 docker stop $(docker ps -a -q) // stop停止所有容器 docker rm $(docker ps -a -q) // remove删除所有容器
-
启动docker
systemctl start docker // centos
sudo service docker start // ubantu
-
查看状态
systemctl status docker
-
停止docker
systemctl stop docker
systemctl restart docker
-
开机启动docker
systemctl enable docker
Docker镜像相关命令
-
查看镜像:查看本地所有镜像
docker images
docker images -q #查看所有镜像的id
-
搜索镜像:从网络中查找所需要的镜像
docker search 镜像名称
-
拉去镜像:从Docker仓库下载镜像到本地,镜像名称或格式为 名称:版本号,如果版本号不指定则是最新版本。 如果不知道版本,可以去dockerhub搜索对应镜像查看。
docker pull 镜像名称
-
删除镜像
docker rmi 镜像id # 删除指定本地镜像
docker rmi `docker images -q` # 删除所有本地镜像
Docker容器相关命令
-
查看容器
docker ps #查看正在运行的容器
docker ps -a #查看所有容器
-
创建并启动容器
docker run 参数 # docker run -it --name=c1 centos:7 /bin/bash # docker run -id --name=c2 #进入守护模式容器 docker exec -it c2 /bin/bash # 退出后容器不会关闭
参数说明:
-
-i:保持容器运行。通常与 -t同时使用。加入it这两个参数后,容器创建后自动进入容器中,退出容器后,容器自动关闭
-
-t :为容器重新分配一个输入终端,通常与 -i 同时使用。
-
-d : 以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec进入容器。推出后,容器不会关闭。
-
-it : 创建的容器一般称为交互式容器,-id创建的容器一般称为守护式容器
-
--name: 为创建的容器命名
退出
exit
进入容器
docker exec 参数 # 退出容器,容器不会关闭
停止容器
docker stop 容器名称
启动容器
docker start 容器名称
删除容器
docker rm 容器名称
查看容器信息
docker inspect 容器名称
Docker 容器的数据卷
数据卷的概念:
-
数据卷是宿主机中的一个目录或文件
-
当容器目录和数据卷目录绑定后,对方的修改会立即同步
-
一个数据卷可以被多个容器同时挂载
-
一个容器也可以被挂在多个数据卷
配置数据卷
-
创建启动容器时,使用-v参数 设置数据卷
docker run ... -v 宿主机目录(文件):容器内目录(文件) ...
注意事项
-
目录必须是绝对路径
-
如果目录不存在,会自动创建
-
可以挂在多个数据卷
-
-
两个容器数据交换 -> 设置同一个数据卷
-
数据卷容器
配置数据卷容器
-
创建启动c3数据卷容器,使用-v 参数设置数据卷
docker run -it --name=c3 -v /volume centos:7 /bin/bash
-
创建启动 c1 c2容器,使用--volumes-form 参数设置数据卷
docker run -it --name=c1 --volumes-form c3 centos:7 /bin/bash docker run -it --name=c2 --volumes-form c3 centos:7 /bin/bash
Docker应用部署
MySQL部署
-
容器内的网络服务和外部机器不能直接通信
-
外部机器和宿主机可以直接通信
-
宿主机和容器可以直接通信
-
当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。外部机器访问宿主机的该端口,从而间接访问机器的服务。
-
这种操作称为:端口映射
部署步骤:
-
搜索mysql镜像
-
拉去mysql镜像
-
创建容器
-
操作容器中的mysql
-