一.查看docker中的共享目录 方式一:查看所有容器的信息,从中筛选 [root@kazihuo ~]# docker inspect volume 方式二:有些容器内,卷映射的map标签为mounts,故以下命令查看 [root@kazihuo ~]# docker
一.查看docker中的共享目录
方式一:查看所有容器的信息,从中筛选
[root@kazihuo ~]# docker inspect volume
方式二:有些容器内,卷映射的map标签为mounts,故以下命令查看
[root@kazihuo ~]# docker inspect -f {{.Mounts}} volume
或 docker inspect -f {{.Volumes}} volume #volume指容器名称
二.配置docker下载加速地址
1)编辑docker配置文件
vim /etc/docker/daemon.json
2)增加拉取镜像地址
{
"registry-mirrors":["https://hub-mirror.c.163.com","https://registry.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn"]
}
3)重启docker服务
service docker restart
三 查看宿主机上所有docker容器对应IP地址
1.docker命令启动的容器,查看IP方法
docker inspect -f '{{.Name}} => {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
2.若是通过docker-compose命令启动的容器,那么查询容器的IP地址
[root@localhost ~]# docker inspect --format='{{.Name}} => {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
四 查看容器日志
docker logs 容器名
docker logs -f -t --tail 100
五 进入容器
docker exec -it 容器名 /bin/bash
六 查看容器环境变量
docker exec -it 容器名 env
七 使用ENV指令可以用于为docker容器设置环境变量
docker run --env <key>=<value> <IMAGE-ID>
八增加映射端口
docker stop nginx
docker rm nginx
docker run -itd --name nginx -p 80:80 -p 800:800 -t nginx
8.1 修改配置文件修改端口
在容器运行时,修改容器端口和映射卷方法
1.停止docker
2.查找容器对应容器id
ps -ef|grep mysql
3修改容器配置文件hostconfig.json
vi /var/lib/docker/容器ID/hostconfig.json
手动修改端口号或映射卷路径
4启动docker
九 设置已启动容器为一直启动
docker ps -qa #查看docker容器进程id
docker update --restart=always 容器名
docker update --restart=always 容器id
十 防火墙开放docker需要的端口号
--开放端口号firewall-cmd --zone=public --add-port=1234/tcp --permanent (permanent永久生效,没有此参数重启后失效)
--更新防火墙策略
firewall-cmd --reload
--查看开放端口
firewall-cmd --zone=public --list-ports
--查看1234
firewall-cmd --zone= public --query-port=1234/tcp
--删除端口
firewall-cmd --zone=public --remove-port=1234/tcp --permanent
--注:每次更改firewall规则后需重新加载(firewall-cmd --reload)
十一 查看文件系统上overlay2对应docker id和名称
如需要查看具体docker容器安装到了文件系统什么位置,且文件系统中的文件名对应哪个容器,则可以使用如下方式
#查看容器所在文件系统位置
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.4G 0 1.4G 0% /dev
tmpfs 1.4G 0 1.4G 0% /dev/shm
tmpfs 1.4G 11M 1.4G 1% /run
tmpfs 1.4G 0 1.4G 0% /sys/fs/cgroup
/dev/sda3 18G 17G 1.7G 91% /
/dev/sda1 297M 197M 101M 67% /boot
tmpfs 283M 12K 283M 1% /run/user/42
overlay 18G 17G 1.7G 91% /var/lib/docker/overlay2/88e0b6ba5c0a143673aa2af92421aede02ed9b1bff43656bfd5df8dbc4796a16/merged
overlay 18G 17G 1.7G 91% /var/lib/docker/overlay2/9294114ef53ca6d335f4b02ae6eb37d974f68d000c3a4b9ddc8d6eadbbbb85b6/merged
overlay 18G 17G 1.7G 91% /var/lib/docker/overlay2/0d11220a67672c3f3497d8e46fb07e73b0b2bca9f0d21e86930cfc45fdf0adcd/merged
overlay 18G 17G 1.7G 91% /var/lib/docker/overlay2/abd41055f1228e985d0c59d6a7a82d94ca33afbb726bf5bc44821fe2e1db5d5a/merged
tmpfs 283M 0 283M 0% /run/user/0
#查看文件系统上docker对应容器id和名称
[root@localhost ~]# sudo docker ps -aq | xargs sudo docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep 0d11220a67672c3f3497d8e46fb07e73b0b2bca9f0d21e86930cfc45fdf0adcd
2506, e89c75f9e547ff66bf6e719e48ae068569d6e80fa607f3a149f0823e11bf759b, /jenkins, /var/lib/docker/overlay2/0d11220a67672c3f3497d8e46fb07e73b0b2bca9f0d21e86930cfc45fdf0adcd/work
十二 docker 实例启动
mysql实例得启动
docker run -p 3306:3306 --name mysql \
-v /data1/docker/mysql/my.cnf:/etc/my.cnf \
-v /data1/docker/mysql/conf:/etc/mysql/conf.d \
-v /data1/docker/mysql/logs:/logs \
-v /data1/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
- 映射路径可以自动创建,本地没有镜像可以从远程仓库自动拉取
- my.cnf 映射前,不能添加文件映射,先将容器启动并从容器中copy到映射目录,再重新映射此文件