docker使用实例

删除 Docker CE
$ sudo yum remove docker-ce
$ sudo rm -rf /var/lib/docker

安装redis
docker run -d --name redis -p6379:6379 -v redis:/data -e requirepass="123456" redis --appendonly yes
 
-name redis-server : 指定容器名称 
-p 6379:6379 : 端口映射
--requitepass "redis123" : 指定redis连接密码
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
--创建本机redis挂载目录/usr/redis/redis.conf:/etc/redis/redis.conf -v /usr/redis/data/:/data
-d 后台运行
-p 端口映射到主机的端口
-v 将主机目录挂载到容器的目录

docker run -d --name redis-server -p 6379:6379 -v /usr/redis/redis.conf:/etc/redis/redis.conf -v /usr/redis/data/:/data redis:latest /etc/redis/redis.conf --appendonly yes --requirepass "admin"

docker run --name redis-test -p 6379:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "your passwd"/usr/redis新建文件夹,拷贝redis.conf配置文件,建data文件夹保存redis持久化数据
 -v 挂在目录,这里本别挂在了redis.conf文件和data文件夹,
 /etc/redis/redis.conf 关键配置,让redis以指定的配置文件启动,而不是默认无配置启动
--appendonly yes redis启动后开启数据持久化

安装mysql
docker run --name mysql5723 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin  -d -v mysql:/var/lib/mysql mysql:5.7.23
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin  -d mysql:5.7.23



docker run --name mingxie-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin -d mysql:5.7.23

sudo docker run --name first-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=admin  -d mysql

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

# docker 中下载 mysql
docker pull mysql

#启动
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin -d mysql

#进入容器
docker exec -it mysql bash

#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin';


重启docker服务后再启动容器
systemctl restart docker
docker start foo

查看端口映射
netstat -ntlpu

开启防火墙
systemctl start firewalld

查看开放端口
firewall-cmd --zone=public --list-port

开放端口
firewall-cmd --zone=public --add-port=56379/tcp --permanent
firewall-cmd --zone=public --add-port=53306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=3000/tcp --permanent
删除
firewall-cmd --zone=public --remove-port=8063/tcp --permanent
firewall-cmd --zone=public --remove-port=3306/tcp --permanent

重启
firewall-cmd --reload

指定编码运行
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

nodejs:
cd ../kdatas/king
sudo docker build -t king/express .
sudo docker run -d --name experss-app -p 80:80 -p 443:443 king/express

cd ./kdata/kingapp
sudo docker build -t kingapp/express .
sudo docker run -d --name experss-app -p 3000:3000  kingapp/express

查看容器ip
docker inspect 8cb2b180bd3fid】
查看日志
查看指定时间后的日志,只显示最后100行:
docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
查看最近30分钟的日志
docker logs --since 30m CONTAINER_ID
查看某时间之后的日志
docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID
查看某时间段日志
docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID


docker启动命令,docker重启命令,docker关闭命令
启动        systemctl start docker
守护进程重启   sudo systemctl daemon-reload
重启docker服务   systemctl restart  docker
重启docker服务  sudo service docker restart
关闭docker   service docker stop   
关闭docker  systemctl stop docker

``