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

# 安装docker-ce

  1. 安装工具包,也叫依赖包

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
    1
  2. 配置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.repo
    
    1
    2
    3
    4
    5
  3. 安装docker:

    安装最新版docker

     sudo yum install docker-ce docker-ce-cli containerd.io
    
    1

    如果不想安装最新办,可查看仓库选择版本安装

    #列表显示出所有版本
    yum list docker-ce --showduplicates | sort -r
    
    # 选择特定版本安装
    sudo yum install docker-ce-<version> docker-ce-cli-<version> containerd.io
    
    1
    2
    3
    4
    5
  4. 启动docker服务:

    systemctl start docker
    
    #开机自启
    sudo systemctl enable docker
    
    #重启docker服务
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    1
    2
    3
    4
    5
    6
    7
    8

# 卸载docker-ce

  1. 卸载yum源

    sudo yum remove docker-ce docker-ce-cli containerd.io
    
    1
  2. 删除相关目录及镜像

     sudo rm -rf /var/lib/docker
     sudo rm -rf /var/lib/containerd
    
    1
    2
  3. 重启docker服务

    #重启docker服务
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    1
    2
    3

# Docker常用命令

**docker命令官方文档:**https://docs.docker.com/engine/reference/run/

# 帮助命令

docker version	# docker版本信息
docker info		# docker详细信息
docker <命令> --help	# --help提示详细参数
1
2
3

# 镜像命令(Image)

docker images 列出本地的镜像

docker images 		# 列出镜像

#可选参数
 -a					# 列出所有镜像
 -f					# 过滤镜像条件
 -q					# 只显示镜像id
1
2
3
4
5
6

**docker serach 搜索镜像 **

# docker search mysql:5.7

#可选参数
-f 					# 过滤条件
1
2
3
4

docker pull 拉取镜像

docker pull <imageName>		# 拉取指定镜像名

docker pull <imageId>		# 指定镜像id
1
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

# 容器命令(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

docker ps 查看容器状态

docker	ps	# 显示正运行的容器

#可选参数
	-a		# 列出所有容器
	-l		# 列出最近一次启动的容器
	-q		# 列出最近一次运行的容器id
1
2
3
4
5
6

docker exec 进入容器

docker exec -it 容器名 /bin/bash

#-it  	    与容器进行连接
#/bin/bash  开启与容器的一个终端操作
1
2
3
4

退出容器

exit #退出容器
1

启动与停止容器

docker start/stop/restart <container> 	 #:开启/停止/重启container
docker start [container_id]				 #:再次运行某个container (包括历史container)
1
2

docker rm 删除容器

docker rm <container...> #:删除一个或多个container
docker rm `docker ps -a -q` #:删除所有的container
1
2

端口映射

docker run  -itd -name <容器名> -p 9000:9000 <镜像名>
-name  指定容器名称
-p 9000:9000 本地9000映射到容器9000
1
2
3
#修改端口映射   其中的hash_of_the_container是docker镜像的hash值,可以通过docker ps查看
vim  /var/lib/docker/containers/[hash_of_the_container]/hostconfig.json 
1
2
更新时间: 2 年前