Docker基本使用命令
# 以Redis为例子
docker pull redis
docker run \
-d \ # 后台运行
--name redis6 \ # 自定义名字
-p 6379:6379 \ # 端口映射
redis # 镜像名称
docker run -d --name redis6 -p 6379:6379 redis redis-server --appendonly yes --requirepass "123456" # 完整命令
docker attach 容器id
docker exec -it 容器id /bin/bash
docker stop 容器id
docker start 容器id
docker ps -a # 查看所有容器
docker ps # 查看运行中的容器
run是创建一个新的容器
start是把已经创建好的容器启动
docker inspect 容器id
# 以MySQL为例子
docker run -d --name mysql8 -p 3306:3306 -v /data/mysql8/config:/etc/mysql/conf.d -v /data/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
# 以上的命令可以参考:https://hub.docker.com/_/mysql,里面有详细介绍
可以进hub.docker.com找到自己需要的容器然后看文档
进容器找了(这个方法有点笨,笔者一开始就是这么找到的。)
# 先拉个CentOS镜像下来
docker pull centos
# 创建个容器
docker run -d -it --name centos1 centos
docker run -d -it --name centos2 centos
docker inspect centos1_id
[
{
"NetworkSettings": {
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "9e7ed6d29ca3474de04409833e39b7c7965c7c63d3a1f509886a7a998e4825f8",
"EndpointID": "41230bf523fac8fa4933989d98baaaa7655fba5c5dadd14e63839ffe868ed3f8",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.4",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:04",
"DriverOpts": null
}
}
}
}
]
docker inspect centos2_id
[
{
"NetworkSettings": {
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "9e7ed6d29ca3474de04409833e39b7c7965c7c63d3a1f509886a7a998e4825f8",
"EndpointID": "8ae77d46887c795983ee7a8fb96951d05e236b4ca4b4caa5d5964f892e18a476",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.5",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:05",
"DriverOpts": null
}
}
}
}
]
以上centos1 ip为172.17.0.4
以上centos2 ip为172.17.0.5
docker network create centos-network
docker run -d -it --network centos-network --name centos3 centos
docker run -d -it --network centos-network --name centos4 centos
docker exec -it centos3_id /bin/bash
ping centos4
# 所以当创建了一个network后 容器都能加入到这个网络里面,很方便
不知道Docker的命令和容器需要的参数
每次都要上官网找下有什么参数或者百度,但相比每次下载文件下来,进去配置省很多力气,并且配置一次保存好用过的命令,以后都可以用了,不需要再重复去改很多东西
其实在一些小型公司,没有专业的运维的话尽量不要在生产环境上使用Docker,不然真的出现问题的话会很头疼,不仅仅要维护项目,还要维护Docker
原文链接:https://juejin.cn/post/6974427129748389902 转自:分布式实验室