微信扫一扫 分享朋友圈

已有 460 人浏览分享

开启左侧

Docker启动常用容器命令及配置教程

[复制链接]
460 0
Docker 容器相关命令

容器是基于Docker镜像被创建的。

docker run [Options] image运行容器

docker run [Options] image

#参数说明
--name="名字"           指定容器名字
-d                     后台方式运行
-it                    使用交互方式运行,进入容器查看内容
-p                     指定容器的端口
        -p ip:主机端口:容器端口  配置主机端口映射到容器端口
        -p 主机端口:容器端口(常用)
        -p 容器端口
-P                     随机指定端口
-e                                           环境设置
-v                                           容器数据卷挂载


运行并进入容器centos

[root@localhost ~]# docker run -it centos /bin/bash
[root@ce2bbae9f151 /]# ls
bin  etc   lib          lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr

进入容器,因为通常我们的容器都是使用后台方式来运行的,有时需要进入容器修改配置

    docker exec -it 容器id /bin/bash

# docker exec 进入容器后开启一个新的终端,可以在里面操作
docker exec -it 容器id /bin/bash

    docker attach 容器id

# docker attach 进入容器正在执行的终端
docker attach 容器id

退出容器

exit         # 停止容器并退出(后台方式运行则仅退出)
Ctrl+P+Q  # 不停止容器退出

docker ps 查看运行的容器

# 查看当前正在运行的容器
docker ps

-a   # 查看所有容器的运行记录
-n=? # 显示最近创建的n个容器
-q   # 只显示容器的id

docker start 容器id 启动容器

docker start 容器id          # 启动容器
docker restart 容器id        # 重启容器
docker stop 容器id           # 停止当前运行的容器
docker kill 容器id           # 强制停止当前容器

docker logs 容器id查看容器运行日志

docker logs -tf 容器id
docker logs --tail num 容器id  # num为要显示的日志条数

docker top 容器id查看容器中进程信息
docker top 容器id
docker inspect 容器id查看容器的元数据
docker inspect 容器id
Docker 启动mysql
# 1.启动mysql  设置密码、设置挂载数据卷
docker run -d -p 3306:3306 --name mymysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
# 2.远程连接mysql服务,若无权限,进入mysql容器中修改远程连接权限
docker exec -it 36d4806c765a /bin/bash
# 登录mysql
mysql -u root -p
# 修改root 可以通过任何客户端连接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

修改远程连接权限成功后,可以通过Navicat等mysql客户端连接数据库。
Docker 启动nginx
docker run -d -p 3000:80 --name mynginx -v mynginx:/etc/nginx nginx

问题:使用-v 挂载到宿主机时,Nginx启动失败。docker ps -a 查看状态为 Exited (1),有解决方法麻烦留言或私信,万分感谢!这里暂不指定宿主机路径,使用默认的挂载路径 /var/lib/docker/volumes/
Docker 启动redis
docker run -p 6379:6379 -d --name myredis \
                   -v /home/docker_volume/redis/data:/data \
           -v /home/docker_volume/redis/conf/redis.conf:/etc/redis/redis.conf \
                   redis redis-server /etc/redis/redis.conf --appendonly yes

    redis-server /etc/redis/redis.conf 以配置文件启动redis
    appendonly yes 开启redis 持久化

进入redis容器
docker exec -it myredis redis-cli
Docker 启动rabbitmq
docker run -it -d -p 5672:5672 -p15672:15672 --hostname my-rabbit --name my-rabbit \
                   -v /home/docker_volume/rabbit/:/var/lib/rabbitmq \
                   -e RABBITMQ_DEFAULT_USER=admin \
                   -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3-management

启动成功后,浏览器访问 http://ip:15672/,进入rabbitmq管理界面。
Docker 启动tomcat
docker run -it -d --name mytomcat -p 8090:8080 \
                   -v /home/docker_volume/tomcat/webapps/:/usr/local/tomcat/webapps tomcat

默认镜像中webapps目录为空,先将项目放入webapps目录下,再访问http://ip:8090/
# 进入tomcat容器
docker exec -it mytomcat /bin/bash
# 复制项目到webapps下
cp -rf webapps.dist/* webapps

Docker 启动jar包
jar包想要在docker中运行,需要把jar包制作成镜像文件,docker再运行镜像。Dockerfile详细教程请参考文章:Docker入门与进阶第三部分
1.将jar包上传到Linux中,并编写Dockerfile文件
[root@localhost idea]# ls
demo-0.0.1-SNAPSHOT.jar  Dockerfile

2.Dockerfile文件内容
FROM java:8

# 将demo-0.0.1-SNAPSHOT.jar 复制 到容器中并重命名为 app.jar
COPY demo-0.0.1-SNAPSHOT.jar app.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"]

3.docker build构建镜像
[root@localhost idea]# docker build -t springbootdemo:1.0 .
[root@localhost idea]# docker images
REPOSITORY       TAG                IMAGE ID       CREATED          SIZE
springbootdemo   1.0                d9648a49a226   50 seconds ago   661MB       

4.运行、测试
[root@localhost idea]# docker run -d -p:8888:8080 --name mydemo springbootdemo:1.0
[root@localhost idea]# curl localhost:8888/hello
hello buckletime![root@localhost idea]#

免责声明:
1,海欣资源网所发布的资源由网友上传和分享,不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
2,海欣资源网的资源来源于网友分享,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3,海欣资源网所发布的资源由网友上传和分享,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
4,如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉,联系方式邮箱 haixinst@qq.com
海欣资源-企业信息化分享平台。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

43

主题
热度排行
回复排行
最新贴子

Archiver|手机版|海欣资源 ( 湘ICP备2021008090号-1 )|网站地图

GMT+8, 2024-3-28 21:30 , Gzip On, MemCached On.

免责声明:本站所发布的资源和文章均来自网络,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉。