docker操作

一、docker常用操作

1.docker基本命令

批注:

第9条.若不写版本号,默认使用lastest(最新版本),建议拉取镜像带上版本号

第10条:其中q是当下id队列的意思,比如查看所有的容器的id:docker ps -a -q

docker基本命令
1.查看docker版本docker -v
2.启动dockersystemctl start docker
3.停止dockersystemctl stop docker
4.重启dockersystemctl restart docker
5.查看docker状态systemctl status docker
6.开机启动systemctl enable docker
7.列出本地镜像docker images
8.从网络搜索镜像docker search 镜像名
9.拉取镜像(centos7)docker pull centos:7
10.删除镜像(tag:版本)docker rmi 名称:tag
11.获取所有镜像iddocker images -q

2.容器基本操作

批注:

第13条: 这个可以组合 比如停止所有容器(`是esc下的键盘符) docker stop `docker ps -a -q`

容器基本操作
1.查看正在运行的容器docker ps
2.查所有容器docker ps -a
3.查最后一次运行的容器docker ps -l
4.查看停止的容器docker ps -f status=exited
5.停止运行的容器docker stop mycentos2
6.启动已运行过的容器docker start mycentos2
7.重启docker restart 容器名|或容器id
8.文件拷贝(外部拷贝容器内)docker cp 需要拷贝的本地文件或目录 容器名称:容器目录
9.从容器拷出来docker cp 容器名称:容器目录 本地的文件或目录
10.查看容器ipdocker inspect mycentos2
11.删除容器docker rm 容器名/或id
12.查容器日志docker logs 容器名|容器id
13.查所有容器iddocker ps -a -q

二、docker创建启动容器

创建容器命令:docker run(创建且运行 create+st)(create)

1.参数说明

参数说明
-i:表示运行容器
-t:分配一个伪终端,交互式
--name:为创建的容器命名
-v:示目录映射关系(前者宿主机目录,后者映射到宿主机上的目录)

-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行

(这样创建容器后不会自动登<br />录容器,如果只加-i -t两个参数,创建后就会自动进去容器)

-p(port):表示端口映射,前者是宿主机端口,后者是容器内的映射端口。

可以使用多个-p做多个端口映射

--restart always:容器会随着docker的启动而启动

2.创建交互式容器(不建议使用,退出当前容器则停止)

批注: /bin/bash:表示进入这个容器,即进入centos,mycentos是自己命名的容器名称

创建交互式容器(不建议使用,退出当前容器则停止)
docker run -it --name=mycentos centos:7 /bin/bash

3.创建守护式容器(建议使用,退出容器仍运行)

创建守护式容器(建议使用,退出容器仍运行)
docker run -di --name=mycentos2 centos:7

三、docker目录挂载

创建容器 添加-v参数 后边为   宿主机目录:容器目录

 目录挂载:将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器里所对应的目录。

因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数--privileged=true来解决挂载的目录没有权限的问题。

创建容器 并挂载宿主机目录 到容器中的目录下:

docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7

共享的是多级的目录,可能会出现权限不足
docker run -di --privileged=true -v /root/test:/usr/local/test --name=mycentos4 centos:7

四、docker常用部署

1.mysql部署

批注

第2条: 其中-p 就是映射端口,把33306(容器外部宿主机端口)和mysql的3306端口映射(33306自己命名,失败可能是端口冲突),-e 代表给容器添加环境变量,123456为自定义密码

MySQL部署
1. 拉取镜像docker pull mysql:5.7
2. 创建mysql容器

docker run -di --name=mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD

=123456 mysql:5.7

3. 进入容器docker exec -it mysql /bin/bash
4. 登陆mysqlmysql -uroot -p123456
5. 授权允许远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH

GRANT OPTION;

2.tomcat部署

tomcat部署
1. 拉取tomcat镜像docker pull tomcat:7-jre8
2. 创建tomcat容器docker run -di --name=pinyougou_tomcat -p 9100:8080 tomcat:7-jre8
3. 测试tomcat浏览器地址栏输入:http://ip地址:9100

3.nginx部署

Nginx部署
1. 拉取Nginx镜像docker pull nginx
2. 创建Nginx容器docker run -di --name=pinyougou_nginx -p 80:80  nginx 
3. 测试Nginx浏览器地址栏输入:http://ip地址

4.redis部署

批注

第3条:本地安装一个redis的客户端 连接即可, 在redis的目录下先打开cmd命令窗口

Redis部署
1. 拉取Redis镜像docker pull redis
2. 创建Redis容器docker run -di --name=pinyougou_redis -p 6379:6379 redis
3. 客户端测试()redis-cli.exe -h 192.168.137.133 -p 16379

五、备份与迁移

批注

第1条:nginx是容器名称,mynginx是新的镜像名称(自定义名称)。此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

第2条:-o 输出到的文件。执行后,运行ls命令即可看到打成的tar包.

备份迁移、springboot微服务部署建议使用dockerfile(自行学习)
1.容器保存为镜像docker commit nginx mynginx(docker commit 容器名称 自定义镜像名称:Tag)
2.镜像备份docker save -o mynginx.tar mynginx:Tag(docker save -o 要保存的文件名.tar 镜像名称:版本|镜像id)
3.镜像恢复与迁移docker load -i mynginx.tar(-i表示输入的文件,即加载此镜像)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闫凯文+1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值