Docker安装及容器创建
1、Docker简介
1.1、安装Docker
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1).设置存储库 安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库。 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https: //download .docker.com /linux/centos/docker-ce .repo 或者使用阿里云 源地址 sudo yum-config-manager \ --add-repo \ http: //mirrors .aliyun.com /docker-ce/linux/centos/docker-ce .repo (2).安装DOCKER引擎 安装最新版本的Docker Engine和容器: sudo yum install docker-ce docker-ce-cli containerd.io |
1.2、查看Docker版本
1 2 | #查看docker版本<br>docker -v docker version |
1.3、Docker常用命令
1 | #启动dockersystemctl start docker#查看Docker状态 systemctl status docker#重启dockersudo systemctl restart docker#停止dockersudo systemctl stop docker#设置开机自启动systemctl enable docker#查看所有镜像docker images#删除指定镜像docker rmi IMAGE_ID#查看所有已创建的镜像docker ps#启动某个容器docker start 容器名称#停止某个容器docker stop 容器名称#退出某个容器exit#删除某个容器docker rm 容器id |
1.4、卸载旧版docker
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 或者使用以下方法 列出docker安装过的相关包: sudo yum list installed | grep docker 删除相关安装包 sudo yum -y remove docker-ce.x86_64 sudo yum -y remove docker-ce-selinux.noarch 删除相关的镜像与容器 sudo rm -rf /var/lib/docker sudo yum remove docker docker-common docker-selinux docker-engine |
1.5.docker run参数说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | -a stdin: 指定标准输入输出内容类型,可选 STDIN /STDOUT/STDERR 三项; -d: 后台运行容器,并返回容器ID; -i: 以交互模式运行容器,通常与 -t 同时使用; -P: 随机端口映射,容器内部端口随机映射到主机的端口 -p: 指定端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; --name= "nginx-lb" : 为容器指定一个名称; --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致; --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致; -h "mars" : 指定容器的 hostname ; -e username= "ritchie" : 设置环境变量; -- env - file =[]: 从指定文件读入环境变量; --cpuset= "0-2" or --cpuset= "0,1,2" : 绑定容器到指定CPU运行; -m :设置容器使用内存最大值; --net= "bridge" : 指定容器的网络连接类型,支持 bridge /host/none/container : 四种类型; --link=[]: 添加链接到另一个容器; --expose=[]: 开放一个端口或一组端口; --volume , - v : 绑定一个卷 |
2、Docker获取portainer镜像,安装 portainer容器
1 2 3 4 5 6 7 8 9 10 11 12 | #查询镜像 docker search portainer #拉取镜像 docker pull portainer /portainer :latest #运行容器 docker run -d --name portainer -p 9000:9000 - v /var/run/docker .sock: /var/run/docker .sock --restart always --privileged= true portainer /portainer #访问: 通过浏览器输入http: //ip :9000即可访问portainer |
3、Docker获取jenkins镜像,安装 jenkins容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #查询镜像 docker search jenkins #拉取镜像 docker pull jenkins /jenkins :lts #创建一个jenkins目录 mkdir /home/jenkins_home #运行容器 docker run --name jenkins\ -u root\ -d\ -p 8061:8080\ -p 50000:50000\ - v /usr/bin/docker : /usr/bin/docker :Z \ - v /var/run/docker .sock: /var/run/docker .sock:Z \ - v /etc/sysconfig/docker : /etc/sysconfig/docker :Z \ - v /opt/software/jdk1 .8.0_201: /opt/software/jdk1 .8.0_201:Z \ - v /opt/software/apache-maven-3 .6.3: /opt/software/apache-maven-3 .6.3:Z \ - v /opt/software/maven-repo : /opt/software/maven-repo :Z \ - v /home/jenkins_home : /var/jenkins_home :Z \ --restart=always \ --privileged= true \ jenkins /jenkins :lts #查看jenkins运行状态 docker ps | grep jenkins #进入jenkins容器内部 docker exec -it jenkins_01 bash #访问 通过浏览器输入http: //ip :8061即可访问jenkins |
4、Docker获取svn镜像,安装 svn容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #查询镜像 docker search svn #拉取镜像 docker pull garethflowers /svn-server :latest #运行容器 docker run --privileged= true --restart always --name svn -d - v /root/dockers/svn : /var/opt/svn -p 3690:3690 garethflowers /svn-server #查看jenkins运行状态 docker ps | grep jenkins #进入容器内部 docker exec -it svn /bin/sh #创建仓库 svnadmin create project #查看svn位置 /root/dockers/svn/project |
5、Docker获取tomcat镜像,安装 tomcat容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #查询镜像 docker search tomcat #拉取镜像 docker pull tomcat:7-jre7 #运行容器 docker run -di --name jenkins_tomcat -p 9000:8080 - v /usr/local/myhtml : /usr/local/tomcat/webapps --privileged= true tomcat:7-jre7 #进入容器内部 docker exec -it jenkins_tomcat /bin/bash #将tomcat中webapps.dist复制到宿主机/usr/local/myhtml中并改名为webapps cd /usr/local/myhtml docker cp jenkins_tomcat: /usr/local/tomcat/webapps .dist webapps |
6、Docker获取mysql镜像,安装 mysql容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #查询镜像 docker search mysql #拉取镜像 docker pull mysql:5.7 #运行容器 docker run -d --name mysql57 \ -p 3306:3306 \ - v /home/mysql57/conf : /etc/mysql/mysql .conf.d \ - v /home/mysql57/logs : /logs \ - v /home/mysql57/data : /var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=dzp_dream \ -e TZ=Asia /Shanghai \ --restart always \ mysql:5.7 \ --lower_case_table_names=1 \ --default-time_zone= '+8:00' #进入容器内部 docker exec -it mysql57 /bin/bash #登录mysql mysql -u root -p |
7、Docker获取nginx镜像,安装 nginx容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #查询镜像 docker search nginx #拉取镜像 docker pull nginx:latest #运行容器 docker run -d --name newnginx \ -p 80:80 \ - v /nginx/html : /usr/share/nginx/html :ro \ - v /nginx/conf/conf .d: /etc/nginx/conf .d \ - v /nginx/logs : /var/log/nginx \ nginx #进入容器内部 docker exec -it newnginx /bin/bash |
8、Docker获取redis镜像,安装 redis容器
1 2 3 4 5 6 7 8 9 10 11 12 | #查询镜像 docker search redis #拉取镜像 docker pull redis:latest #创建redis容器,并设置密码 docker run -d --name myredis -p 6379:6379 redis:latest --requirepass "dzp_dream" #进入容器内部 docker exec -it myredis /bin/bash |
9、Docker获取zookeeper镜像,安装 zookeeper容器
1 2 3 4 5 6 7 8 9 10 11 12 | #查询镜像 docker search zookeeper #拉取镜像 docker pull docker.io /wurstmeister/zookeeper #创建redis容器,并设置密码 docker run -d --name zookeeper -p 2181:2181 -t wurstmeister /zookeeper #进入容器内部 docker exec -it zookeeper /bin/bash |
10、Docker获取kafka镜像,安装 kafka 容器
1 2 3 4 5 6 7 8 9 10 11 12 | #查询镜像 docker search kafka #拉取镜像 docker pull docker.io /wurstmeister/kafka :2.12-2.1.0 #创建容器 docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.17.0.5:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT: //192 .168.189.130:9092 -e KAFKA_LISTENERS=PLAINTEXT: //0 .0.0.0:9092 -t wurstmeister /kafka :2.12-2.1.0 #进入容器内部 docker exec -it kafka /bin/bash |
11、Docker获取postgresql+postgis镜像,安装 postgresql+postgis容器
1 2 3 4 5 6 7 8 9 10 11 12 | #查询镜像 docker search postgresql #拉取镜像 docker pull kartoza /postgis :11.0-2.5 #创建容器 docker run -t --name postgresql --restart always -e POSTGRES_USER= 'postgres' -e POSTGRES_PASSWORD=dzp_dream -e ALLOW_IP_RANGE=0.0.0.0 /0 -p 5432:5432 -d kartoza /postgis :11.0-2.5 #进入容器内部 docker exec -it postgresql /bin/bash |
12、Docker获取MinIO镜像,安装 MinIO容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #查询镜像 docker search minio #拉取镜像 docker pull minio /minio #创建容器 docker run -d -p 9001:9000 --name minio \ -e "MINIO_ACCESS_KEY=minio" \ -e "MINIO_SECRET_KEY=dzp_dream" \ - v /opt/app/cloud/minio/data : /data \ - v /opt/app/cloud/minio/config : /root/ .minio \ minio /minio server /data #进入容器内部 docker exec -it minio /bin/bash |
13、Docker获取gitlab镜像,安装 gitlab容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #查询镜像 docker search gitlab #拉取镜像 docker pull gitlab /gitlab-ce #创建容器 docker run -d \ -p 8443:443 \ -p 80:80 \ -p 222:22 \ --name gitlab \ --restart always \ -- hostname 192.168.189.130 \ - v /home/gitlab/config : /etc/gitlab :Z \ - v /home/gitlab/logs : /var/log/gitlab :Z \ - v /home/gitlab/data : /var/opt/gitlab :Z \ gitlab /gitlab-ce #进入容器内部 docker exec -it gitlab /bin/bash |
14、Docker获取Nacos镜像,安装 Nacos容器
1 2 3 4 5 6 7 8 9 10 11 | #查询镜像 docker search nacos /nacos-server #拉取镜像 docker pull nacos /nacos-server #创建容器 docker run -- env MODE=standalone --name nacos -d -p 8848:8848 nacos /nacos-server #进入容器内部 docker exec -it nacos /bin/bash |
15、Docker获取elasticsearch镜像,安装 elasticsearch容器
1 2 3 4 5 6 7 8 9 10 11 12 | #查询镜像 docker search elasticsearch #拉取镜像 docker pull elasticsearch #创建容器 docker run -e ES_JAVA_OPTS= "-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 docker.io /elasticsearch #进入容器内部 docker exec -it elasticsearch /bin/bash |
16、Docker获取RabbitMQ镜像,安装 RabbitMQ容器
1 2 3 4 5 6 7 8 9 10 11 12 | #查询镜像 docker search rabbitmq:management #拉取镜像 docker pull rabbitmq:management #创建容器 docker run -d -- hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 docker.io /rabbitmq :management #进入容器内部 docker exec -it rabbit /bin/bash |
17、Docker获取私有仓库registry镜像,安装 registry容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #查询镜像 docker search registry #拉取镜像 docker pull registry #创建容器 docker run --name=registry -p 5000:5000 -di registry #进入容器内部 docker exec -it registry /bin/bash #修改配置文件 vim /etc/docker/daemon .json 添加如下内容: { "insecure-registries" :[ "192.168.1.175:5000" ] } #使其生效并重启docker sudo systemctl daemon-reload sudo systemctl restart docker |
18、Docker获取Memcached镜像,安装 Memcached容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #查询镜像 docker search memcached #拉取镜像 docker pull memcached #创建容器 docker run -d --name mymemcache -p 11211:11211 memcached #Memcached相关操作 telnet 127.0.0.1 11211 set test 0 900 9 memcached STORED get test VALUE test 0 9 memcached END quit |
19、Docker获取MongoDB镜像,安装MongoDB容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #查询镜像 docker search mongo #拉取镜像 docker pull mongo:latest #创建容器 docker run -itd --name mymongo -p 27017:27017 mongo --auth #进入容器,并设置密码 docker exec -it mymongo mongo admin # 创建一个名为 admin,密码为 123456 的用户。 > db.createUser({ user: 'admin' , pwd : '123456' ,roles:[ { role: 'userAdminAnyDatabase' , db: 'admin' }]}); # 尝试使用上面创建的用户信息进行连接。 > db.auth( 'admin' , '123456' ) |
20. 查看所有容器
1 | 通过浏览器输入http: //ip :9000即可访问portainer |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步