docker

一、docker 安装



1、检查内核版本 必须在3.0以上
uname -r
[root@root /]# uname -r
3.10.0-862.el7.x86_64

2、安装docker
yum install docker
3、输入y确认安装
4、启动docker
systemctl start docker
查看docker版本 docker -v
5、开机启动
systemctl enable docker


二、docker 命令



docker search xxx(docker search mysql) 搜索镜像

docker pull name (拉取镜像)
eg: docker pull mysql 下载最新版的latest

docker pull name:tag
eg:docker pull mysql:5.7.19 下载指定的tag版本

docker images 查看本地所有镜像
[root@root /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7.19 3e3878acd190 23 months ago 412MB

docker rmi imageId 删除镜像
eg:docker rmi 3e3878acd190


三、启动docker容器步骤



以tomcat为例:
1、搜索镜像
docker search tomcat
2、拉取镜像
docker pull tomcat
3、启动容器
docker run --name container-name -d image-name
container-name 容器名称
-d 后台运行
image-name 镜像名称
eg: docker run --name mytomcat -d tomcat:latest
4、查看运行中的容器
docker ps
查看所有的容器 docker ps -a
5、停止容器
docker stop container-name/container-id
6、启动容器
docker start container-name/container-id
7、删除容器
docker rm container-id
8、端口映射
-p 8888:8080
将虚拟机的8888端口映射到容器的8080
eg:docker run -d -p 8888:8080 tomcat(不指定容器名称)
或者
eg:docker run -d -p 8888:8080 --name mytomcat docker.id/tomcat
9、容器日志
docker logs container-name/container-id

10、service firewalld status 防火墙状态
11、service firewalld stop 暂时关闭防火墙


四、启动MySQL



#省略搜索下载
查看安装的镜像
[root@root /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest ee48881b3e82 29 hours ago 506MB
mysql 5.7.19 3e3878acd190 23 months ago 412MB

运行mysql
docker run -d --name mysql -p 3306:3306 mysql:5.7.19


sudo docker run -p 3306:3306 --name mysql \

-v /mydata/mysql/conf:/etc/mysql \

-v /mydata/mysql/log:/var/log/mysql \

-v /mydata/mysql/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=root \

​-d mysql:8.0​

docker安装mysql镜像_mysql

 

 

直接启动MySQL:

docker start mysql/mysql 的 ID

重启docker实例mysql :

sudo docker restart mysql

以交互模式进入到容器(mysql)内部

sudo docker exec -it + (容器得名字或者)容器ID (容器ID 只要和其他得容器不一样就行,不用写全)  /bin/bash.

例如 : sudo docker exec -it mysql /bin/bash

查看目录结构 ls /

查看mysql装在那个位置 whereis mysql


查看mysql运行状态
[root@root /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a407363a0a5f mysql:5.7.19 "docker-entrypoint.s…" About a minute ago Exited (1) About a minute ago mysql
3e53fbd0909e tomcat "catalina.sh run" 10 minutes ago Up 10 minutes 0.0.0.0:8888->8080/tcp modest_swirles
发现mysql退出了

查看容器日志
docker logs container-id
[root@root /]# docker logs a407363a0a5f
error: database is uninitialized and password option is not specified
You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
这三个参数必须指定一个

删除容器
docker rm container-name

重新启动
[root@root /]# docker run -d -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.19
256a46e32a8142257e5e90993083ce9278817999d64c816d86eb7132eeeabad4
[root@root /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
256a46e32a81 mysql:5.7.19 "docker-entrypoint.s…" 10 seconds ago Up 9 seconds 0.0.0.0:3306->3306/tcp mysql01
3e53fbd0909e tomcat "catalina.sh run" 18 minutes ago Up 18 minutes 0.0.0.0:8888->8080/tcp modest_swirles

命令行操作mysql
docker exec -it container-name bash
docker exec -it mysql01 bash

mysql -u root -p

参考 :


作者:Mason啊

链接:https://www.jianshu.com/p/701893a132bd

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。