docker入门实践一(安装)
恶作剧 linuxdocker
环境:
Centos7
docker原名
dotCloud2010开源,在2013发布正式版本1.0注意:必须使用内核3.10及其以上版本,才可以使用docker。
查看当前内核版本(可选)
uname -r
1
升级内核(可选)
yum -y update
1
# 删除旧版本(可选)
如果安装了旧版本,卸载旧版本,没有安装则可以忽略。旧版本名称为docker或docker-engine
#查看是否已经安装docker
yum list installed | grep docker
#卸载相关yum源
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#删除主机上的映像、容器、卷或自定义配置文件
sudo rm -rm /var/lib/docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 安装docker-ce
安装工具包,也叫依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm21配置docker安装源:
#官方源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #国内阿里镜像源 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1
2
3
4
5安装docker:
安装最新版docker
sudo yum install docker-ce docker-ce-cli containerd.io1如果不想安装最新办,可查看仓库选择版本安装
#列表显示出所有版本 yum list docker-ce --showduplicates | sort -r # 选择特定版本安装 sudo yum install docker-ce-<version> docker-ce-cli-<version> containerd.io1
2
3
4
5启动docker服务:
systemctl start docker #开机自启 sudo systemctl enable docker #重启docker服务 sudo systemctl daemon-reload sudo systemctl restart docker1
2
3
4
5
6
7
8
# 卸载docker-ce
卸载yum源
sudo yum remove docker-ce docker-ce-cli containerd.io1删除相关目录及镜像
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd1
2重启docker服务
#重启docker服务 sudo systemctl daemon-reload sudo systemctl restart docker1
2
3
# Docker常用命令
**docker命令官方文档:**https://docs.docker.com/engine/reference/run/
# 帮助命令
docker version # docker版本信息
docker info # docker详细信息
docker <命令> --help # --help提示详细参数
1
2
3
2
3
# 镜像命令(Image)
docker images 列出本地的镜像
docker images # 列出镜像
#可选参数
-a # 列出所有镜像
-f # 过滤镜像条件
-q # 只显示镜像id
1
2
3
4
5
6
2
3
4
5
6
**docker serach 搜索镜像 **
# docker search mysql:5.7
#可选参数
-f # 过滤条件
1
2
3
4
2
3
4
docker pull 拉取镜像
docker pull <imageName> # 拉取指定镜像名
docker pull <imageId> # 指定镜像id
1
2
3
2
3
docker rmi 删除本地镜像
docker rmi -f <imageName> # 指定镜像名删除
docker rmi -f <imageId> # 指定镜像id删除
#清除失效镜像
docker rmi $(docker images -f "dangling=true" -q)
1
2
3
4
5
6
7
2
3
4
5
6
7
# 容器命令(Container)
docker run 启动并且创建容器
docker run [可选参数] imageName #指定镜像名启动新容器
#可选参数
-d # 后台启动
-it # 可以进行交互(可进入容器)
-p # 端口映射
-p 主机端口:容器端口
-p 主机ip:主机端口:容器端口
-name # 生成容器名称
-restart # 自动重启选择 no不重启(默认) always始终重启 on-failure退出时重启
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
docker ps 查看容器状态
docker ps # 显示正运行的容器
#可选参数
-a # 列出所有容器
-l # 列出最近一次启动的容器
-q # 列出最近一次运行的容器id
1
2
3
4
5
6
2
3
4
5
6
docker exec 进入容器
docker exec -it 容器名 /bin/bash
#-it 与容器进行连接
#/bin/bash 开启与容器的一个终端操作
1
2
3
4
2
3
4
退出容器
exit #退出容器
1
启动与停止容器
docker start/stop/restart <container> #:开启/停止/重启container
docker start [container_id] #:再次运行某个container (包括历史container)
1
2
2
docker rm 删除容器
docker rm <container...> #:删除一个或多个container
docker rm `docker ps -a -q` #:删除所有的container
1
2
2
端口映射
docker run -itd -name <容器名> -p 9000:9000 <镜像名>
-name 指定容器名称
-p 9000:9000 本地9000映射到容器9000
1
2
3
2
3
#修改端口映射 其中的hash_of_the_container是docker镜像的hash值,可以通过docker ps查看
vim /var/lib/docker/containers/[hash_of_the_container]/hostconfig.json
1
2
2