Docker简单使用
Doker安装相关
这是我第一次使用docker,安装时还是浪费了大量时间,整理一下简单使用的笔记,后续在深入了解
环境:(由于win10系统版本过低,安装Docker for Windows失败,也可能我菜,最终找的解决办法如下)
虚拟机安装Centos7,然后在centos 7 中安装Docker(套娃~)
centos 7 安装
[root@bogon ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
安装:参考阿里的文章:
阿里云下面的文章
https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.5c041b11hnXlmw
# step 1: 安装必要的一些系统工具
1.yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
2.yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
3.sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
4.yum makecache fast
yum -y install docker-ce
# Step 5: 开启Docker服务
4.service docker start
ubuntu 安装
ubuntu安装docker(这个我没做,顺利整理出来,后续万一有用呢)
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
Docker的基础命令
需要新建或者修改镜像源
#新建或者修改以下文件
vi /etc/docker/daemon.json
#添加内容
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
#镜像源
官方:https://hub.docker.com/
国内
阿里云 - 开发者平台:https://dev.aliyun.com/
阿里云 - 容器Hub服务控制台:https://cr.console.aliyun.com/
https://www.docker-cn.com/
# 配置完之后执行下面的命令,以使docker的配置文件生效
systemctl daemon-reload
systemctl restart docker
浏览源地址内的镜像
docker search redis
docker search -s 30 redis #查找收藏数大于30的 redis
返回信息如下:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
redis Redis is an open source key-value store that… 10428 [OK]
grokzen/redis-cluster Redis cluster 3.0, 3.2, 4.0, 5.0, 6.0, 6.2 83
sameersbn/redis 83 [OK]
rediscommander/redis-commander Alpine image for redis-commander - Redis man… 72 [OK]
参数 :
--no-trunc: 显示完整的镜像描述
-s: 列出收藏数 不小于 指字值的镜像
--automated: 只列出 automated build类型的镜像
获取镜像到本地
docker pull tomcat(tomcat可换成想要的镜像,如:centos,ubuntu..)
docker pull 镜像名:tag
# docker pull redis 等价于 docker pull redis:latest
# 参数 :
:tag 是可选的,tag表示标签,多为软件的版本,默认是latest
查看本地镜像
docker images #镜像列表:列出本地所有镜像
返回如下:
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-beijing.aliyuncs.com/daxia/qingscan 20211231_01 5f5a1b38496c 11 days ago 3.4GB
mysql 5.6 dd3b2a5dcb48 3 weeks ago 303MB
area39/pikachu latest 28e6ebc041de 2 years ago 853MB
参数 :
-a:列出本地所有的镜像(含中间映像层)
-q:只显示镜像ID
--digests:显示镜像的摘要信息
--no-trunc:显示完整的镜像信息
-aq:显示所有的镜像id:
删除本地镜像
docker rmi image-id #删除指定的本地镜像
docker rmi -f 镜像id #删除单个镜像
docker rmi -f 镜像名A:tag 镜像名B:tag #删除多个
docker rmi -f $(docker images -aq) #删除全部
启动容器
例 1:
docker run ‐‐name mytomcat ‐d tomcat:latest
--name :为容器取名
-d :指用附加进程方式启动容器(理解为后台运行?)
例 2:
docker run --name piakchu -d -p 9002:80 area39/pikachu
-p :将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
area39/pikachu和tomcat:latest :是仓库名
查看本地容器
docker ps #查看运行的容器
docker ps -a #查看所有容器,包括已停止的容器
关闭容器
例 1:
docker stop 容器ID或容器名
例 2:
docker stop -t=60 容器ID或容器名
参数
-t :关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态
例 3:
docker kill 容器ID或容器名 #直接关闭容器
打开停止的容器
#首先通过 docker ps -a 查看所有容器,获取容器id
docker ps -a
返回如下:
[root@bogon ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
60cce5f1d11d area39/pikachu "/run.sh" 13 hours ago Up 2 hours 3306/tcp, 0.0.0.0:9002->80/tcp, :::9002->80/tcp piakchu
cbddfcc97b00 registry.cn-beijing.aliyuncs.com/daxia/qingscan:20211231_01 "/bin/bash -c 'php /…" 13 hours ago Up 2 hours 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp qingscan
b989c2578276 mysql:5.6 "docker-entrypoint.s…" 13 hours ago Up 2 hours 0.0.0.0:33306->3306/tcp, :::33306->3306/tcp mysqlser
[root@bogon ~]#
#获取到CONTAINER ID
#<------------------------------------------->
docker start 60cc #支持模糊查询,前几位就可以
重启容器
docker restart 容器ID或容器名
参数 :
-t : 关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态
删除容器
docker rm 容器id
参考以下大佬的文章,非常感谢!!!
https://www.cnblogs.com/personblog/p/10762875.html
https://blog.csdn.net/xiaojin21cen/article/details/81321336?utm_source=blogxgwz1
https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.5c041b11hnXlmw