docker rmi -f
镜像
ID
或者镜像名
:TA
#
删除指定本地镜像
# -f
表示强制删除
获取元信息:
docker inspect
镜像
ID
或者镜像名
:TA
#
获取镜像的元信息,详细信息
实例:
mysql
docker pull mysql:5.7
#
创建三个要挂载的目录
mkdir -p /my/mysql/conf
mkdir -p /my/mysql/data
mkdir -p /my/mysql/logs
#
复制文件 并修改字符
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /my/mysql/conf/
vi /my/mysql/conf/mysqld.conf
character-set-server=utf8
#
最终启动命令
docker run \
--name mysql \
-p 3306:3306 \
-v /my/mysql/conf:/etc/mysql/mysql.conf.d/ \
-v /my/mysql/data:/var/lib/mysql \
-v /my/mysql/logs:/logs \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
注:
国外镜像市场:
国内镜像市场:
此次使用的mysql镜像地址:
1. 启动并创建docker的mysql镜像的实例
在启动并创建docker的mysql镜像的实例时, 要指定好docker内部端口号和宿主端口号的映射, 创建镜像命令会自动开放docker镜像的3306端口并暴露出去, 因此需要手动开放宿主机防火墙对外端口
docker run --name docker-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=NARUTO1 -d daocloud.io/library/mysql:5.7.4
注:
docker-mysql 为指定的该镜像的名称
NARUTO1 是指定的root用户密码
daocloud.io/library/mysql:5.7.4 其中daocloud.io/library/mysql 为本地mysql镜像路径, 5.7.4为本地mysql镜像的tag
2. 开放宿主机防火墙对外端口
操作步骤:
1、登陆到linux系统
2、输入防火墙开放端口命令:firewall-cmd --zone=public --add-port=
8080/tcp --permanent
3、刷新防火墙:firewall-cmd --reload
* 注意:--add-port=后面接需要开放的端口
1.你可以使用 lsof 命令来查看某一端口是否开放。查看端口可以这样来使用,我就以80端口为例:
lsof -i:80
或者
lsof -i:22
如果有显示说明已经开放了,如果没有显示说明没有开放
2.netstat -aptn执行看看,是否监听在0.0.0.0:3306
3.
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)
例如 netstat -ntpl | grep 3306 netstat -ntpl | grep 3307
4.telnet ip 端口号 方 式测试远程主机端口是否打开
3. docker ps -a 查看在运行的
4. docker exec -it docker-mysql bash 进入容器内部 docker-mysql 是上边运行时为容器取的别名 也可以用id替代
5. mysql -u root -p 然后直接输入密码即可 密码是在运行时设置的
6. grant all privileges on *.* to 'root'@'%' ; 给用于授予权限 (登录mysql之后执行)
7.flush privileges; 刷新权限
8.登录