docker的使用

 

这两个命令对容器进行启动关闭

 

进入容器

 

 

我们使用docker默认的网络是bridge0,此模式下是自动为容器分配IP,我们的docker一关闭,然后重启,IP又会随机分配,这不是我们想要的,所以我们要自定义一个网路,自定义网络可以自己为容器指定IP,且重启后IP不会丢失,自定义网络如下;

docker network create --subnet=172.21.0.0/24 --gateway=172.21.0.1 cloud_net

 

通过上边的命令后,使用docker network ls查看我们的自己的网络,如图:

发现,自定义网络已经创建成功了。

我们使用自定义网络创建一个MySQL容器:

 

 

 

这个命令可以实现宿主机与容器间copy文件

docker run --restart=always -p 3306:3306 --name mysql8.0.23 --network=cloud_net --ip=172.21.0.11 -v /data/mysql/conf:/etc/mysql  -v /data/mysql/logs:/var/log/mysql -v /data/mysql/data:/var/lib/mysql -v /data/mysql/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.23

创建好后我们用inspect命令查看我们容器的详细信息

可以看到,容器已经使用我们自定义的IP了。

 

 

--redis

docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf -v /redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

 

 

 

 

docker 安装Nginx

   首先第一步拉取Nginx到本地,使用docker pull nginx

我们可以用docker images查看我们刚才下载的镜像

下载Nginx后我们使用run命令将镜像初始化为容器

然后使用docker ps 查看我们docker中启动的容器

至此,我们的Nginx就已经启动完成了,我们可以用curl命令测试一下服务是否可用

看到这个,说明我们的Nginx是可用的

默认网络是bridge模式,在这种模式下,容器之间可以通过docker0进行通信,不过外部网络不能访问到容器,所以我们使用host模式,这种模式下,容器与宿主机公用同一个IP

容器数据卷:使用 -v 本地目录:容器目录 命令进行将容器中的数据同步到本地,起到保护数据的作用,防止我们将容器删除时,数据也跟着丢失。

我们经过测试,在容器内新建一个文件,看能不能同步到本地

从测试结果来看,是可以正确同步到本地的。

我们再测试一下在本地新建一个文件,看能不能同步到容器内,

从结果来看,是可以从本地同步到容器内部的。

 

--rabbitmq

 

docker volumn ls 这个命令可以查看我们创建了哪些卷

 

 

将镜像发布到dockerHub

1.docker login进行登录

2.docker tag 将自己的镜像打上版本号(没有版本号dockerhub会拒绝push)

3.docker push 推送上去

 

 


版权声明:本文为weixin_41511894原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。