Docker快速入门
序言
解决Docker:Failed to start docker.service: Unit not found问题
yum update
后重启系统,重新安装docker
Docker解决的问题
1.运行环境不一致导致的问题
2.隔离
3.弹性伸缩
CentOS7安装Docker
1.安装CentOS7.x系统
2.安装docker
yum install docker
3.启动docker服务
systemctl start docker.service
4.配置开机启动并验证
systemctl enable docker.service
验证:查看docker版本信息
docker version
5.配置docker加速器 => 原因你懂得,不设置慢死你,云服务器除外
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://d8b3zdiw.mirror.aliyuncs.com"]
}
然后重启docker服务
systemctl daemon-reload
systemctl restart docker
6.Hello World
docker run hello-world
常用命令
查看
docker images
docker images redis
搜索
docker search redis
拉取
docker pull
删除镜像
docker rmi 镜像ID
删除容器
docker rm xxx 删除已经停止的容器xxx
docker rm -f xxx 可以删除正在运行的容器xxx
docker rm -f ${docker pa -a -q} 删除所有的容器
查看正在运行的容器
docker ps -a
查看所有容器
docker ps -a
启动
docker start ID
停止
docker stop ID
文件拷贝
docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
docker exec -it 775c7c9ee1e1 /bin/bash 进入一个已经在运行的容器
目录挂载
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。
创建容器 添加-v参数 后边为 宿主机目录:容器目录
docker run -di -v /usr/local/helloworld:/use/local/helloworld --name=mycentos1 centos:7 --privileged=true
看容器 IP 地址
docker inspect NAMES
docker inspect --format='{{.NetworkSettings.IPAddress}}' 5ac68dd7d20a
删除容器
docker rm ID
交互式容器
守护式容器
创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):
docker run -di --name=mycentos2 centos:7
登录守护式容器
docker exec -it mycentos2 /bin/bash
Docker 退出容器不停止容器运行
通常我们使用Ctrl+C
退出正在执行的操作
在docker
容器中使用Ctrl+D
即可退出容器,但是这样会让容器停止运行。
如果想退出容器但又不想让容器停止,使用Ctrl+P+Q
即可
部署
mysql部署
docker pull mysql:5.7
//用户默认是root,密码默认是root的密码
docker run -di --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker exec -it mysql bash
mysql -u root -p
tomcat部署
nginx部署
Redis部署
下载镜像
docker pull redis
创建容器
docker run -di --name=myredis -p 6379:6379 redis
查看Redis版本
docker exec -it myredis redis-server -v
重启Redis
docker restart myredis
迁移与备份
容器保存为镜像
docker commit pyg_nginx mynginx
pyg_nginx是容器名称
mynginx是新的镜像名称
此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器
镜像备份
docker save -o mynginx.tar mynginx
-o 输出到的文件
执行后,运行ls命令即可看到打成的tar包
镜像恢复与迁移
首先我们先删除掉mynginx镜像
然后执行此命令进行恢复
docker load -i mynginx.tar
-i 输入的文件
执行后再次查看镜像,可以看到镜像已经恢复
无目录挂载-容器保存为镜像
有目录挂载情况(难点)
Dockerfile
dockerfile文件指令说明:
- FROM -指定所创建镜像的基础镜像
- WORKDIR-配置工作目录
- EXPOSE-声明镜像内服务监听的端口
- COPY-复制内容到镜像
- ENTRYPOINT-启动镜像的默认人口命令
Docker私有仓库的搭建与配置
资料
https://www.cnblogs.com/edisonchou/p/dockerfile_inside_introduction.html