与Windows系统对比,docker的类型有如下区分
Docker服务、Docker镜像、Docker容器
根据系统版本不一样,docker安装命令也不一定相同,随便搜一下就有,这里就不过多描述了
启动docker服务
systemctl start docker
停止docker服务
systemctl stop docker
重启docker服务
systemctl restart docker
设置Linux系统开机自动启动docker服务
systemctl enable docker.service 或者 systemctl enabledocker
重启或启动docker服务时,容器也自动重启
docker run --restart=always
如果容器已经启动了,也可以使用如下命令进行热更新
docker update --restart=always [容器id]
进入docker容器命令,内部结构就跟Linux系统目录差不多
dockerexec-it[容器id] /bin/bash
docker容器启动命令
docker start [容器id]
docker容器停止命令
docker stop [容器id]
docker容器重启命令
docker restart [容器id]
docker容器移除命令
dockerrm[容器id]
查看docker镜像
docker images
移除docker镜像
docker rmi [镜像id]
复制命令(从宿主机复制到docker容器)
dockercp /home/mall.sql mysql:/
复制命令(从docker容器复制到宿主机)
dockercp mysql:/ /home/mall.sql
查看docker正在运行的进程
dockerps
查看已经装载进docker容器的进程
dockerps-a
下载指定版本的tomcat
docker pull tomcat:8
运行tomcat
docker run -d-it-p8080:8080 --name tomcat -v /home/tomcat/webapps:/usr/local/tomcat/webapps.list -v /home/tomcat/logs:/usr/local/tomcat/logs -v /home/tomcat/conf:/usr/local/tomcat/conf --restart=always tomcat:8
下载指定版本的MySQL
docker pull mysql:5.7
运行MySQL
docker run -d--name mysql -p3306:3306 -eMYSQL_ROOT_PASSWORD=root --restart=always mysql:5.7
如果输入
docker run运行命令docker报错,比如:docker:Error response from daemon之类的错误,重启一下docker即可解决,重启命令:systemctl restart docker
修改远程访问权限
进入容器,修改root用户允许远程访问
dockerexec-it[容器id] /bin/bash
修改远程权限
alter user 'root'@'%' identified with mysql_native_password by 'root';
下载指定版本的Nginx
docker pull nginx:1.10
运行Nginx
docker run -d-p80:80 --name nginx -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/logs:/var/log/nginx -v /home/nginx/conf:/etc/nginx nginx:1.10
下载指定版本的Redis
docker pull redis:5
运行Redis
docker run -d-p6379:6379 --name redis -v /home/redis/data:/data redis-server --appendonlyyesredis:5
下载指定版本的Nacos
docker pull nacos/nacos-server:1.3.0
运行Nacos
docker run -d-ePREFER_HOST_MODE=ip -eMODE=standalone -eSPRING_DATASOURCE_PLATFORM=mysql -eMYSQL_SERVICE_HOST=192.168.1.100 -eMYSQL_SERVICE_PORT=3306-eMYSQL_SERVICE_USER=root -eMYSQL_SERVICE_PASSWORD=root -eMYSQL_SERVICE_DB_NAME=nacos -eTIME_ZONE='Asia/Shanghai'-v /mydata/nacos/logs:/app/nacos/logs -p8848:8848 --name nacos --restart=always nacos/nacos-server:1.3.0
-d:后台运行容器,并返回容器ID;
-i:以交互模式运行容器,通常与 -t 同时使用;
-p:端口映射,格式为:主机(宿主)端口:容器端口;
-P:大写的P,表示会 端口随机映射;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–name=“tomcat_01”:为容器指定一个名称,不指定名称,docker会默认创建一个名称;
-v:是指定卷的目录,例如:tomcat下的logs目录,在tomcat启动的时候,会产生日志;
如果需要查看日志,就需要进去docker容器中的运行的tomcat实例中的logs目录下,查看日志信息;镜像实例,都是相互沙箱隔离的;使用该命令,可以把tomcat的目录,建立成共享目录,这样,在docker下,也可以查看该目录,如果需要设置开机自启动在后面加上:--restart=always;
在运行docker容器时,如果不确定需要映射的文件目录是多少,运行docker容器时,不要添加-v参数,docker容器运行起来后,直接通过docker exec命令进入容器,确定好需要映射的目录后,才删除容器,重新添加-v映射好指定的路径后,运行新的容器;
特别是一些配置文件,比如Nginx的nginx.conf配置文件,先将容器直接运行起来后,执行docker cp命令,将容器中的nginx.conf文件复制到映射目录,进行个性化修改后,再添加-v参数执行命令;
上面命令中的容器id都是可以简写的,写前几位就可以啦,只要能够确定唯一容器就行,另外容器id也可以用容器名称代替,根据实际场景和自己的爱好选择;
下一篇:没有了!