centos7安装docker和常用操作

一、安装docker

1.检查内核版本必须3.10以上

使用 uname -r 查看版本号

2.启动docker

systemctl start docker

2.停止docker

systemctl stop docker

3.开机启动

systemctl enable docker

二、常用命令,镜像操作

1.docker search 在docker仓库中查找 Docker Hub

例:docker search mysql

index为索引,name为镜像名称,description为简介,stars为星数(单位K)official是否为官方,automated是否自动构建

2.docker pull 镜像名:tag(版本号)拉取 没有tag为默认的tag

例:docker pull mysql:5.7.28

3.docker images 查看下载的镜像

4.docker rmi imageId 删除镜像

三、容器操作

1.docker run --name(容器名称) -d(后天运行)镜像名:标签名 ,镜像名和标签名一定要在最后,-d一定要在镜像名前边,在https://hub.docker.com查看对应镜像启动文档。

例:

docker run --name tomcat9 -d tomcat:latest

2.docker ps 查看哪些容器在运行

3.docker stop CONTAINER ID(容器id)/NAMES(容器名称)停止运行中的容器,可以使用docker ps -a 查看所有容器,包括已停止的

4.docker rm CONTAINER ID(容器id)/NAMES(容器名称)删除容器

5.docker start CONTAINER ID(容器id)/NAMES(容器名称)再次启动容器

6.端口映射 docker run -p 虚拟机端口:容器端口

例:

docker run --name tomcat9 -p 80:8080 -d tomcat

如果启动提示WARNING: IPv4 forwarding is disabled. Networking will not work.解决办法

vim /etc/sysctl.conf

#配置转发
net.ipv4.ip_forward=1

#重启服务,让配置生效
systemctl restart network

#查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功

sysctl net.ipv4.ip_forward

7.docker logs CONTAINER ID(容器id)/NAMES(容器名称)查看容器日志

8.docker exec 进入docker容器

例:docker exec -it mysql5.7(容器名) /bin/bash

更多命令请查看docker | Docker Documentation

docker run --name mysql5.7 -p 3306:3306 -v /docker-conf.d/mysql:/etc/mysql/mysql.conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28

9.docker容器自动重启

1)创建容器时设置

docker run -d --restart=always --name 设置容器名 使用的镜像
(上面命令  --name后面两个参数根据实际情况自行修改)
 
# Docker 容器的重启策略如下:
 --restart具体参数值详细信息:
       no        // 默认策略,容器退出时不重启容器;
       on-failure    // 在容器非正常退出时(退出状态非0)才重新启动容器;
       on-failure:3    // 在容器非正常退出时重启容器,最多重启3次;
       always      // 无论退出状态是如何,都重启容器;
       unless-stopped  // 在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器。

2)修改已有容器,试用update

docker update --restart=always 容器ID(或者容器名)
(容器ID或者容器名根据实际情况修改)

10.其它问题 

启动报错:

mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 13 - Permission denied)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!

ERROR: mysqld failed while attempting to check config
command was: "mysqld --verbose --help"

添加--privileged=true

docker run --name mysql5.7 -p 3306:3306 -v /docker-conf.d/mysql:/etc/mysql/mysql.conf.d --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值