Docker基础命令学习总结
一、Docker简介
-
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
-
Docker下载地址 Docker官网地址 下载docker组件
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos
安装dockeryum -y install docker-ce-18.06.1.ce-3.el7
启动dockersystemctl enable docker && systemctl start docker
查看docker版本docker --version
-
加速器配置
vi /etc/docker/daemon.json { "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://hub-mirror.c.163.com" ] }
sudo systemctl daemon-reload
sudo systemctl restart docker
- docker 开启远程服务
vi /usr/lib/systemd/system/docker.service
#找打ExecStart= 在它下边新增下列内容ExecStart= ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:5375
#加载docker systemctl daemon-reload
#重启docker systemctl restart docker
- docker 开启远程服务
-
更多资料,请查阅官网
二、Docker的基本命令
1.Docker环境相关
systemctl start docker
启动dockerdocker command --help
查看帮助docker network ls
查看网络
2.Docker镜像相关
docker search imagename
搜索镜像docker pull imagename
拉取镜像docker images
查看镜像docker rmi imagename
删除镜像docker run -p hostPort:containerPort --name containerName -d imagename:lastest
启动镜像docker rmi --force $(docker images | grep doss-api | awk '{print $3}')
删除doss-api镜像docker commit containerName/containerId containerName
打包镜像docker run -v /home:/docker/home -d image-name
挂载本地文件夹
3.Docker容器相关
docker ps
查看正在运行的容器docker ps -a
查看所有容器docker start containerName/containerId
启动容器docker stop containerName/containerId
关闭容器docker restart containerName/containerId
重启容器docker rm –f containerName/containerId
删除容器docker port con_id
查看容器端口映射docker exec -it 容器ID /bin/bash
进入容器docker logs containerName/containerId
查看容器日志docker logs -f containerName/containerId
查看容器实时日志docker rm $(docker ps -aq)
删除所有容器
三、Docker启动服务
1.Docker启动STF
拉取镜像
docker pull openstf/stf:latest
docker pull sorccu/adb:latest
docker pull rethinkdb:latest
docker pull openstf/ambassador:latest
docker pull nginx:latest
启动服务docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
启动rethink数据库docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
启动adbdocker run -d --name stf --net host openstf/stf stf local --public-ip yourip --allow-remote
启动stf(允许远程)
2.Docker启动ELK
docker pull sebp/elk
拉取镜像docker run --name elk -d -e LOGSTASH_START=0 -p 5601:5601 -p 9200:9200 -p 5044:5044 -d registry.docker-cn.com/sebp/elk
启动服务
3.gitlab搭建
docker run --detach \ --hostname gitlab.example.com \ --publish 10443:443 --publish 10080:80 --publish 10022:22 \ --name gitlab \ --restart always \ --volume ~/gitlab/config:/etc/gitlab \ --volume ~/gitlab/logs:/var/log/gitlab \ --volume ~/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest
4.sonarqube的搭建
docker run --name mysql-sonar -e MYSQL_ROOT_PASSWORD=mysql -e MYSQL_DATABASE=sonar -e MYSQL_USER=sonar -e MYSQL_PASSWORD=sonar -v /path/to/local/mysql/dir:/var/lib/mysql -p 33066:3306 -d mysql:latest
docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 --link=mysql-sonar:mysql -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -e SONARQUBE_JDBC_URL="jdbc:mysql://mysql:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" sonarqube
Written on September 28, 2019