第五节 Linux中安装Docker
一、安装Docker
#Linux系统的ROOT权限下
# 1、yum 包更新到最新
yum update
# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依
赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源(以下2选1即可)
# 3.1、方案一:使用ustc的(推荐) 这个网站的连接不需要FQ
yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 3.2、方案二:使用阿里云(可能失败)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4、 安装docker;出现输入的界面都按 y
yum install -y docker-ce
# 5、 查看docker版本
docker -v
#6、修改一下
/etc/sudoers
文件的配置内容,给guset
赋予能够执行一切指令的权限:
#7设置镜像源
# 创建目录
mkdir /etc/docker
vim /etc/docker/daemon.json # 创建docker的配置文件
# 在daemon.json文件中添加如下内容
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
#8 重启docker服务(docker内运行的所有容器都会停止,这就相当于windwos系统重启,应用程序都会被关闭。)
sudo systemctl restart docker#验证镜像源配置是否成功
docker info|grep Mirrors -A 1
#9设置开机启动
systemctl enable docker
# 10启动docker服务(docker的守护进程)后,运行docker的hello-world程序,来验证是否成功安装并启动
docker run hello-world
二、Docker常用命令
Docker通用
# 获取有关Docker版本的信息
docker -v
# 获取所有可用Docker命令的列表
docker
# 启动docker服务:
systemctl start docker
# 停止docker服务:
systemctl stop docker
# 重启docker服务:这个会关闭所有正在运行的docker容器。
systemctl restart docker
镜像相关命令
# 查看当前系统可用的镜像
docker images
# 拉取镜像,格式为 “名称:版本号”,如果版本号不指定则是最新的版本
docker pull centos:7
# 删除镜像
sudo docker rmi centos # 使用名称删除镜像
sudo docker rmi 镜像id # 按照镜像id删除镜像
容器相关
# 查看正在运行的容器
sudo docker ps
#启动容器(先得有镜像,一般创建守护式容器)
sudo docker run [参数列表] 使用的镜像名称或ID /bin/bash
参数说明:
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件 映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
启动MySQL实例:
# Linux宿主机中操作:使用镜像创建mysql守护式容器,--name配置容器名称,-p并进行端口映射,-e同时配置环境变量
sudo docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
# 进入容器,命令为:(exit退出时,守护式容器不会停止)
sudo docker exec -it container_name (或者 container_id) /bin/bash
sudo docker exec -it mycentos7_daemon /bin/bash创建容器成功后就直接进入了容器,Linux指令中显示的用户标识也跟着变了
比如mysql,可以进行登录了: mysql -u root -p
#退出容器
exit
#再查看
sudo docker ps
# 停止正在运行的容器:docker stop 容器名称或者ID
sudo docker stop 容器ID#终止状态的容器,可以使用docker start来重新启动。
docker ps -a
docker restart 容器ID
# 启动已运行过的容器:docker start 容器名称或者ID
sudo docker start mycentos7_daemon
# 删除指定容器(单个容器)
sudo docker rm mycentos_daemon