docker笔记
docker笔记
下载镜像
docker pull centos:7
docker pull haakco/mysql80
docker pull mysql:5.7.26
docker pull mysql:5.6
查看镜像
docker images
查看容器
docker ps
查看所有容器(包含未运行的容器)
docker ps -a
创建容器
docker run -itd --name centos-php56 centos:7
docker run -itd --name centos-php7-03 -p 8003:80 centos:7
docker run --name nginx-test -p 8080:80 -d nginx
docker run --name mysql823 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.23
docker run --name mysql836 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.36
docker run -d --name influxdb -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 influxdb:1.8
docker run -id -p 3307:3306 --name mysql56 -v /opt/docker/mysql56/conf:/etc/mysql/conf.d -v /opt/docker/mysql56/logs:/logs -v /opt/docker/mysql56/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
docker run -p 3309:3306 --name mysql57
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:5.7
说明:
-p 12345:3306:将主机的12345端口映射到docker容器的3306端口。
–name mysql56:运行服务名字
-v /opt/docker/mysql56/conf:/etc/mysql/conf.d :将主机/opt/docker/mysql56目录下的conf/my.cnf 挂载到容器的/etc/mysql/conf.d
-v /opt/docker/mysql56/logs:/logs:将主机/opt/docker/mysql56目录下的 logs 目录挂载到容器的/logs。
-v /opt/docker/mysql56/data:/var/lib/mysql :将主机/opt/docker/mysql56目录下的data目录挂载到容器的/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d mysql:5.6 : 后台程序运行mysql5.6
docker run -d -h gitlab -p 2222:22 -p 8888:80 -p 8443:443 -v /opt/docker/gitlab/config:/etc/gitlab -v /opt/docker/gitlab/logs:/var/log/gitlab -v /opt/docker/gitlab/data:/var/opt/gitlab --restart always --name gitlab gitlab/gitlab-ce:latest
启动容器
docker start a68c9d397b6e
停止容器
docker stop a68c9d397b6e
进入容器
docker exec -it centos-php56 /bin/bash
或者docker attach a68c9d397b6e
删除指定容器
docker rm -f
删除镜像
docker image rm [image]
docker rmi [image]
docker image rm haakco/mysql80:latest
退出容器
exit 或 Ctrl+P+Q
修改docker容器端口映射
cd /var/lib/docker/containers/a68c9d397b6e* #这里是CONTAINER ID
vim hostconfig.json
如果之前没有端口映射, 应该有这样的一段:
“PortBindings”:{}
增加一个映射, 这样写:
“PortBindings”:{“80/tcp”:[{“HostIp”:“”,“HostPort”:“8001”}]}
前一个数字是容器端口, 后一个是宿主机端口。将宿主机的8001端口映射到容器的80端口
而修改现有端口映射更简单, 把端口号改掉就行。
创建网络
docker network create --subnet=172.172.172.0/24 zentaonet
删除网络
docker network rm zentaonet
已创建的容器自动重启
docker update --restart=always 容器名或容器ID
docker container update --restart=【容器策略】 容器名称
# no 容器退出时不重启容器
# on-failure 只有在非零状态退出时才重新启动容器
–restart=on-failure:【重启次数】
# always 无论退出状态如何都
已创建的容器取消自动启动
docker update --restart=no 容器名或容器ID