近期在自己的服务器上搭建环境,使用了docker ,遇到不少坑,特此总结了一篇docker指令集,减少大家查资料的时间
###加速docker镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://y0ny8vnw.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
复制代码
##分配docker权限
//创建docker用户组
groupadd docker
//将当前用户添加到docker组:
gpasswd -a [用户名] docker
//重启docker服务:
service docker restart
复制代码
##指令
//安装docker
yum install docker
//启动docker
service docker start
//查看运行中的容器
docker ps
//查看所有容器
docker ps -a
//删除容器
docker rm [容器id、容器名称]
//停止容器
docker stop [容器id、容器名称]
//查看docker镜像do
docker images
//删除镜像
docker rmi [镜像id、镜像名称]
//进入执行中的镜像
docker exec -it [容器id、容器名称] /bin/bash
docker exec -it [容器id、容器名称] /bin/sh
//保存退出镜像
ctrl + p + q
//拉代码
git pull [镜像名称]:[版本]
//打包生成镜像
//docker commit -a [容器id、容器名称] -m [版本] 建议不使用commit构建镜像
docker build -t [容器名称] ./
// 在DockerFile文件目录下执行构建指令
//启动服务(docker文件目录:包含Dockerfile;docker-compose.yml)
docker-compose up
//查看日志
docker logs -f -t --tail [行数] [容器id、容器名称]
复制代码
##常用镜像
//——————建立vpn——————
//docker run -d -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp -e PSK=[共享密钥] -e USERNAME=[名称] -e PASSWORD=[密码] siomiz/softethervpn
docker run -d -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp -e PSK=admin -e USERNAME=admin -e PASSWORD=admin siomiz/softethervpn
//——————静态网页——————
//docker run -d --name [容器名称] -p [外网端口]:80 -v $(pwd)/[目录]:/usr/share/nginx/html:ro nginx
docker run -d --name web -p 8080:80 -v $(pwd)/web:/usr/share/nginx/html:ro nginx
//——————db2——————
//docker run -d -–name [容器名称] -p [外网端口]:50000 -e DB2INST1_PASSWORD=[密码] -e LICENSE=accept ibmcom/db2express-c:latest /bin/bash
docker run -it --name db2 -p 50000:50000 -e DB2INST1_PASSWORD=db2inst1 -e LICENSE=accept ibmcom/db2express-c:latest /bin/bash
//使用用户
su - db2inst1
//启动db2
db2start
//安装数据库
//db2 create db [数据库名称]
db2 create db db2Test
//——————svn——————
//docker run --name [容器名称] --detach --volume $(pwd)/[目录]:/var/opt/svn --publish [外网端口]:3690 garethflowers/svn-server
docker run --name some-svn-server --detach --volume $(pwd)/svn:/var/opt/svn --publish 3690:3690 garethflowers/svn-server
//执行脚本
//docker exec -it [容器名称] svnadmin create [项目名]
docker exec -it some-svn-server svnadmin create svnname
//——————monogedb——————
//docker run --name [容器名称] -p [外网端口]:27017 -v $PWD/[目录]:/data/db -d mongo:latest --auth
docker run --name my-mongo -p 27017:27017 -v $PWD/mongodb:/data/db -d mongo:latest --auth
//进入容器
//docker exec -it [容器名称] mongo admin
docker exec -it my-mongo mongo admin
//创建管理员
//db.createUser({ user: '[用户名]', pwd: '[密码]', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
db.createUser({ user: 'user', pwd: 'user', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
//使用管理员
//db.auth('[用户名]','[密码]')
db.auth('user','user')
//创建使用的用户
//db.createUser({user:'[用户名]',pwd:'[密码]',roles:[{role:"readWrite",db:"[数据库名称]"}]})
db.createUser({user:'testmg',pwd:'testmg',roles:[{role:"readWrite",db:"testmg"}]})
//——————mysql——————
//docker run -p [外网端口]:3306 --name [容器名称] -v $PWD/[目录]/conf:/etc/mysql/conf.d -v $PWD/[目录]/logs:/logs -v $PWD/[目录]/data:/mysql_data -e MYSQL_ROOT_PASSWORD=[密码] -d mysql:[版本]
docker run -p 3306:3306 --name mysql -v $PWD/mysql/conf:/etc/mysql/conf.d -v $PWD/mysql/logs:/logs -v $PWD/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=markpg -d mysql:5.6
//——————oracle——————
//docker run -d --shm-size=1g -p [外网端口]:8080 -p [外网端口]:1521 -v $PWD/[目录]:/etc/entrypoint-initdb.d alexeiled/docker-oracle-xe-11g
docker run -d --shm-size=1g -p 8080:8080 -p 1521:1521 -v $PWD/oracle:/etc/entrypoint-initdb.d alexeiled/docker-oracle-xe-11g
//链接信息
//hostname: localhost
//port: 1521
//sid: xe
//username: system
//password: oracle
复制代码
如若有补充的地方,欢迎大家联系我:wuhaoxiangfau@163.com