前置
(1)docker安装。
(2)镜像、容器、仓库概念理解。
(3)docker国内镜像设置。
创建或修改 /etc/docker/daemon.json 文件,修改为如下形式
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com",
"https://registry.docker-cn.com",
"https://nrbewqda.mirror.aliyuncs.com"
]
国内镜像
# Docker中国区官方镜像
https://registry.docker-cn.com
# 网易
http://hub-mirror.c.163.com
# ustc
https://docker.mirrors.ustc.edu.cn
# 中国科技大学
https://docker.mirrors.ustc.edu.cn
https://docs.docker.com/engine/reference/commandline/dockerd/
1.搜索镜像
docker search 镜像名
例如:搜索gitlab镜像名
docker search gitlab
列表参数:镜像名称、镜像描述、镜像stars关注数、是否官方、支持自动化
2.拉取镜像(下载镜像)
docker pull 镜像名称:tag
tag
例如:拉取gitlab镜像
docker pull gitlab/gitlab-ce:latest
下载进度、下载镜像文件体积大小
3.查看已下载镜像
docker images
4.运行镜像、创建容器
概念理解:容器是镜像实例化,运行镜像会自动生成一个镜像实例容器
docker run 镜像名称:版本
docker run 镜像名称
docker run 镜像ID
docker run -i -t --name 容器名 镜像名
例如:启动gitlab镜像创建容器并指定端口和路径
docker run \
-itd \
-p 9980:80 \
-p 9922:22 \
-v /usr/local/gitlab-test/etc:/etc/gitlab \
-v /usr/local/gitlab-test/log:/var/log/gitlab \
-v /usr/local/gitlab-test/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab-test \
gitlab/gitlab-ce
参数说明:
-i 以交互模式运行容器,一般会和 -t 同时使用
-t 为容器重新分配一个伪输入终端,通常和 -i 同时使用
-d 后台运行容器,并返回容器的ID
-p 9980:80 将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口
-p 9922:22 将容器内22端口映射至宿主机9922端口,这是访问ssh的端口
-v /usr/local/gitlab-test/etc:/etc/gitlab
将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样
--restart always 容器自启动
--privileged=true 让容器获取宿主机root权限
--name gitlab-test 设置容器名称为gitlab-test
gitlab/gitlab-ce 运行的镜像的名称,这里也可以写镜像ID
5.删除镜像
docker rmi -f 镜像名称
docker rmi -f 镜像ID
-f 强制删除镜像
非强制删除,需要先停止运行中的容器,再删除容器所属镜像
6.查看镜像详细信息
docker inspect 镜像名称
docker inspect 镜像ID
7.查看容器
docker ps -a
docker ps
-a 包括不再运行中的容器
ps 仅运行中的容器
8.停止容器、重启、启动
docker stop 容器名称或容器ID
docker start 容器名称或容器ID
docker restart 容器名称或容器ID
9.查看容器网络参数
docker exec 容器ID ip a show
10.容器执行ping命令
常用于检查容器eth 》docker》主机,这层网络是否互通
docker exec 容器ID ping http://www.baidu.com
11.删除容器
docker stop 容器名称或容器ID
docker rm 容器名称或容器ID
12.强制停止容器
docker kill 容器名称或容器ID
13.指定多少时间后停止容器
docker stop -t 10 容器名称或ID
14.查看虚拟网桥信息
brctl show