Docker基础用法

Docker基础用法
李木子docker-ce yum仓库
1 | http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
安装
1 | yum install docker-ce docker-ce-cli containerd.io -y |
基础命令
- 查看镜像
1
docker images
- 查看容器
1
docker ps -a
- 拉取镜像
1
docker pull [镜像名]
- 查看所有镜像
1
docker images -qa
- 删除镜像
1
docker rmi [镜像名或镜像id]
设置docker镜像源
- 编辑镜像源文件
1
vim /etc/docker/daemon.json
- 阿里云镜像
1
2
3{
"registry-mirrors": ["https://v3u80yhi.mirror.aliyuncs.com"]
} - 登录第三方源
1
docker login --username=aliyun7272234537 registry.cn-hangzhou.aliyuncs.com
- 重启一下docker
1
2systemctl daemon-reload
systemctl restart docker
镜像管理
- 搜索
1
docker search [imagename]
- 下载
1
docker pull [imagename]
上传
1
docker push [imagename]
保存成tar包
1
docker save [imagename]
- 将本地的tar包中的镜像加载到本地
1
docker load [imagesname.tar]
查询当前有哪些镜像
1
docker images
删除镜像
1
docker rmi [imagename]
运行镜像
- 我们使用下载好的nginx镜像进行运行
- 运行镜像就会产生容器
1
docker run -d -p 8080:80 nginx
- -d:放在后台运行
- -p:指定端口映射
- -name:指定容器的名字
- -it:分配交互式的终端
容器的操作
- 运行
1
docker start [容器名/Id]
- 停止
1
docker stop [容器名/Id]
- 显示所有容器的id
1
docker ps -a -l -q
- -a:所有容器
- -l:最后创建的容器
- -q:静默输出
- 删除容器
1
docker rm [容器id]
- 删除所有
1
docker rm -f `docker ps -aq`
- 删除所有
创建mysql和nginx进行尝试
让容器开机自启
1
docker run -tid --name mysql1 --restart always mysql
容器一直处于重启状态
- 查看日志
1
docker log mysql1
🔴
日志说初始化失败,是因为没有传mysql的密码
- 需要指定mysql密码
1
docker run -tid --name mysql1 --restart always -e MYSQL_ROOT_PASSWORD=lizhanqi0228 -p 3306:3306 mysql
- 创建nginx
1
docker run -tid --name nginx1 --restart always -p 80:80 nginx
🔴
—restart always是为了容器在系统重启后开机自启动
更改docker镜像源
编辑源文件
🟣
没有则创建
1 | vim /etc/docker/daemon.json |
🟣
添加以下内容
1 | { |
重启服务
1 | systemctl daemon-reload |
测试
- 不写版本号就是拉取最新版
1
docker pull nginx