Files
blog/source/_posts/docker/Docker.md
xzh f45ac97711 添加文档
修改主题配置
2025-03-27 18:29:25 +08:00

144 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: docker
date: 2020-08-27
updated: 2021-09-25
tags: docker
categories: docker
keywords: docker
description: docker中安装Mysql
top_img: https://i.loli.net/2021/09/30/xQP2JVs3I9Zt1le.jpg
comments: true
cover: https://i.loli.net/2021/09/30/xQP2JVs3I9Zt1le.jpg
copyright: true
copyright_author: xzh
copyright_author_href: http://xxzhx.cn
copyright_url: http://xxzhx.cn
copyright_info: 著作权归作者所有。商业转载请联络作者获得授权,非商业转载请注明出处。
---
# 1、docker的安装
## 1.1、安装工具
`sudo yum install -y yum-utils device-mapper-persistent-data lvm2`
```
device-mapper-persistent-data lvm2是干嘛的
docker要想数据存储就必须要安装这两个这两个是为了docker做数据存储用的。
```
## 1.2、添加源为国内
`sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo`
## 1.3、更新安装Docker-CE
`sudo yum makecache fast`
`sudo yum -y install docker-ce`
## 1.4、启动验证
`sudo service docker start`
`docker version`
# 2、配置阿里镜像加速器
## 2.1、去阿里搜索`容器镜像服务`
![image-20200816150233760](/images/image-20200816150233760.png)
![image-20200816150338205](/images/image-20200816150338205.png)
## 2.2、执行命令
按照上面的命令输入
```
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxx.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
```
# 3、镜像的安装
## 3.1、拉取镜像
`docker pull xxx` 例:`docker pull tomcat`
```
完整命令是docker pull 镜像名<:tags> 从远程仓库拉取镜像。如果没写:tags则代表是latest版本
```
## 3.2、查看镜像
`docker images`
## 3.3、启动容器
`docker run xxx:版本号(最新版可省略)` 例:`docker run tomcat` `docker run tomcat:latest`
```
完整命令是docker run 镜像名<:tags> 这里没指定tag就代表是latest
```
`docker run -d --name xxx -p port1:port2 xxx` 例:`docker run -d --name tomcat1 -p 8080:8080 tomcat`
```
-d后台启动
-p端口映射
--name设置容器名称
```
## 3.4、查看容器信息
查看启动的容器:`docker ps`
查看所有容器:`docker ps -a`
## 3.4、删除容器
`docker rm xxx` 例:`docker rm 87f2b3a10855`
```
删除需要用容器的ID 不能用名称
```
![image-20200816153100668](/images/image-20200816153100668.png)
## 3.5、进入容器里面
`docker exec-it xxx bash` 例:`docker exec -it tomcat bash` `docker exec -it 87f2b3a10855 bash`
```
进入容器可以使用名称和容器ID都可以进入
```
退出ctrl+p+q
## 3.6、关闭/重启容器
关闭:`docker stop xxx` 例:`docker stop 87f2b3a10855`
重启:`docker restatr xxx` 例:`docker restatr 87f2b3a10855`
# 4、常用命令总结
| 解释 | 命令 |
| :------------------------------: | :----------------------------------------------------------: |
| docker pull 镜像名<:tags> | 从远程仓库拉取镜像到本地仓库 |
| docker images | 查看本地仓库所有镜像 |
| docker run 镜像名<:tags> | 基于镜像创建容器并启动,可以添加-d port1:port2参数port1宿主机端口port2容器端口 -d参数代表后台运行 |
| docker ps | 查看当前所有启动的容器 |
| docker ps -a | 查看本地所有容器包含未启动的删除容器的时候可用来查询容器id |
| docker start/stop/restart 容器id | 启动/停止/重启容器 |
| docker rm <-f> 容器id | 删除<-f强制删除>容器,运行中的容器不能删除,-f可以强制 |
| docker rmi <-f> 镜像名称 <:tags> | 删除<强制删除>镜像,镜像有容器在启动,不能被删除,-f可以强制 |
| docker exec [-it] 容器id 命令 | 进入容器主目录exec在对应容器中执行命令-it采用交互方式执行命令 |