- A+
所属分类:linux技术
docker问题
1. 安装 docker
-
下载依赖环境
yum -y install yum-utils device-mapper-persistent-data lvm2
-
指定Docker镜像源
# 使用的是阿里的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装docker
# 使用 yum 安装
yum makecache fast
yum -y install docker-ce
-
启动Docker并测试
# 启动Docker服务
systemctl start docker # 关闭 systemctl stop docker
# 设置开机自动启动
systemctl enable docker #关闭 systemctl disable docker
# 测试 运行hello-world 镜像 根据这个镜像 创建容器
docker run hello-world
-
配置docker仓库
5.1 配置阿里镜像加速
# 复制粘贴即可
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://tp01urzb.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
5.2 添加镜像
vi /etc/docker/daemon.json
# 内容如下,一开始只有第一个加速镜像,拉取mysql时拉不下来,就多加了几个
{
"registry-mirrors": [
"https://tp01urzb.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://docker.mirrors.ustc.edu.cn",
"https://reg-mirror.qiniu.com"
]
}
# 重启两个服务 注意上边镜像地址用"",每个镜像之间有逗号,写错重启会报错
systemctl daemon-reload
systemctl restart docker
2. 镜像/容器操作
-
拉取镜像
从中央仓库拉取镜像到本地
docker pull 镜像名 # 默认拉取最新版本
# 拉取 Tomcat 以及指定版本 Tomcat
docker pull tomcat
docker pull tomcat:8 # tomcat 8
-
查看本地镜像
docker images
-
删除本地镜像
docker rmi 镜像标识
# 当利用该镜像创建了容器时,要先删除容器,再删除镜像
-
运行容器
# 简单操作
docker run 镜像的标识|镜像名称[:tag]
# 常用的一些参数,以上边Tomcat 为例
docker run -d -p 8080:8080 --name tomcat8 64fbf6b1021d
# -d 后台运行容器
# -p 宿主机端口:容器端口 为了映射当前Linux的端口和容器的端口
# --name 容器名称:指定容器名称
# 最后一个参数是 镜像名 或者 镜像标识
-
查看容器
# 查看正在运行的容器
docker ps
# 查看所有的容器
docker ps -a
# 查看容器日志
# -f:可以滚动查看日志的最后几行
docker losg -f 容器id
-
进入容器内部
docker exec -it 容器id bash
# 退回到宿主机 control+p+q
-
重启&启动&停止&删除容器
# 重新启动容器
docker restart 容器id
# 启动停止运行的容器
docker start 容器id
# 停止指定的容器(删除容器前,需要先停止容器)
docker stop 容器id
# 停止全部容器
docker stop $(docker ps -qa)
# 删除指定容器
docker rm 容器id
# 删除全部容器
docker rm $(docker ps -qa)
# 查看容器元信息
docker inspect 容器id
# 设置容器自动启动
docker update --restart=always 容器id
3. docker安装 Tomcat
docker search tomcat
docker pull tomcat # 自动拉取最新镜像
docker pull tomcat:8 # 拉去指定版本
docker images # 查看本地镜像
# 创建容器 -d 后台运行, -p 宿主机端口号:容器端口号, --name 容器名 镜像标识 | 镜像名
docker run -d -p 8080:8080 --name tomcat1 tomcat:8
4. Mysql
-
拉取镜像,查看镜像标识
docker pull mysql:8
# 查看标识
docker images
-
创建容器
docker run -d -p 3306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=root 2a6a0d93ee45
# -e MYSQL_ROOT_PASSWORD=root 为数据库设置密码
-
进入容器测试
# 进入容器
docker exec -it mysql8 bash